c++相关内容

如何使 QPushButton 可按下输入键?

我想让我的应用程序笔记本电脑友好.我可以选择任何地方,但如果我选择一个 QPushButton 我可以不要用 Enter 按下它,只能用 space. 有什么问题?如何使 Enter 可按下? 解决方案 tl;dr 在 Qt Creator 的 UI 视图中,选择您想要使 Enter 可按下的按钮. 在右侧的属性编辑器中向下滚动到标题为 QPushButton 的蓝色部分. 通 ..
发布时间:2021-12-09 17:23:29 C/C++开发

从 dll 启动 Qt GUI(在 DLLStart 函数中)

我必须从暴露 DLLStart 和 DLLStop 的 dll 启动 Qt GUI.main中正常的(.exe)方式如下: int main(int argc, char *argv[]) {QApplication a(argc, argv);对话 w;w.show();返回 a.exec();} 问题是阻塞 a.exec() 调用,因为在 dll 中 DLLStart 需要立即返回(见下文 ..
发布时间:2021-12-09 17:23:22 C/C++开发

使用 qmake/Qt Creator 与调试/发布库链接

我正在使用 Qt Creator 并且有一个依赖于 C++ 静态库项目的 Qt GUI 项目.我想将 GUI 应用程序的发布版本与 .lib 的发布版本和 GUI 应用程序的调试版本与调试 .lib 链接起来.通过在我的 .pro 文件中包含如下一行,我找到了如何向项目添加其他库的方法: LIBS += -L./libfolder -lmylib.lib 但我不知道如何使用不同的 -L ..
发布时间:2021-12-09 17:22:52 C/C++开发

将外部事件循环与 Qt 结合

我正在为开源客户端/服务器 4X 策略游戏 Thousand Parsec 构建 Qt 客户端.这是一个 Google Summer of Code 项目.然而,我陷入了死胡同.基本上,客户端通过促进客户端/服务器通信的 C++ 协议层与服务器接口.该协议的文档可在此处获得. 现在我的问题是协议要求您创建虚拟 EventLoop 类的子类 (link) 在您的客户端中.有一个示例 Simpl ..
发布时间:2021-12-09 17:22:34 C/C++开发

全屏小部件

如何使我的小部件全屏显示?我试过这样的事情: void MainWindow::SetFullScreen(){//使我们的窗口没有面板this->setWindowFlags( Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint );//参考桌面调整大小this->resize(QApplication::desktop( ..
发布时间:2021-12-09 17:22:23 服务器开发

为什么使用 QVector(Qt) 而不是 std::vector

我对 C++ 和 Qt 很陌生,但我很擅长 C#/Java. 关键是我喜欢跨平台,但我对 Qt 感到困惑.std::vector 不是已经跨平台了吗,Qt 不是提供了一个非跨平台的东西吗? 还有 File 和 QFile 有什么不同? 一个链接会很好,谢谢:) 解决方案 这篇文章看起来不错.它比较了 Qt 模板库和标准模板库: QTL vs STL 希望,您会 ..
发布时间:2021-12-09 17:22:12 C/C++开发

如何让 Qt 和 Qtcreator 静态链接库而不是动态链接?

我知道这可能是一个与许多其他问题类似的问题,但在搜索了很多次但未能得到明确有效的解决方案后,我不得不提出这个问题. 我正在使用 Qt 5.2.0 for Windows 32-bit (VS 2010, 570 MB),我已经完成了我的编程,一切都完成了.但现在我想将它作为 .exe 文件分发给我的同事,但这样做不会很复杂,也为了避免分发 dll 文件,我需要使用静态链接构建程序. 能 ..
发布时间:2021-12-09 17:21:59 C/C++开发

如何同时使用 Qt 和 SDL?

我正在 Windows 中构建物理模拟引擎和编辑器.我想使用 Qt 构建编辑器部分,并且我想使用 SDL 和 OpenGL 运行引擎. 我的第一个想法是仅使用 Qt 构建编辑器,并与引擎(资源管理器、渲染器、数学)共享尽可能多的代码.但是,我也希望能够在编辑器中运行模拟.这意味着我还必须分享使用 SDL 线程的模拟代码. 所以,我的问题是:有没有办法使用 SDL 将 OpenGL 渲染 ..
发布时间:2021-12-09 17:21:42 C/C++开发

Qt、MSVC 和/Zc:wchar_t- == 我想炸毁世界

所以 Qt 在 windows 上是用/Zc:wchar_t- 编译的.这意味着 wchar_t 不是某些内部类型(我认为是 __wchar_t)的 typedef,而是 unsigned short 的 typedef.真正酷的是 MSVC 的默认值是相反的,这当然意味着您使用的库很可能是用 wchar_t 编译的,而 wchar_t 与 Qt 的 wchar_t. 这当然不会成为问题,除 ..
发布时间:2021-12-09 17:21:17 C/C++开发

为什么 Qt 使用自己的 make 工具 qmake?

我刚开始使用 Qt 并注意到它使用自己的 make 工具, qmake. 为什么 Qt 使用自己的 make 工具? 是否有什么特殊原因阻止它使用标准的 make 工具? qmake 是否调用 GCC C++ 编译器? 解决方案 Qt 使用 qmake 透明地支持 Qt 的各种插件,包括“moc,元对象编译器"(提供信号和槽),“uic,theui 编译器"(从 .ui 设计器文 ..
发布时间:2021-12-09 17:21:06 C/C++开发

Qt线程之间发送大量数据

我有一个 QThread,它会定期生成大量数据(每秒几兆字节),并且需要将其传输到父 (GUI) 线程. 恐怕我对 QThread 的内部运作不是很确定,所以我想寻求最佳实践. 显然,传输数据最直接的方式就是emit一个数组.然而,这有多有效?Qt是否知道它的使用位置并避免在发送和接收时进行深度复制? 如果没有,我很乐意只在主线程中分配内存并提供一个指向子线程的指针,它将在其中写 ..
发布时间:2021-12-09 17:20:55 C/C++开发

QTcpSocket 状态始终连接,甚至拔掉以太网线

我有一个 QTcpSocket 并且我正在读入一个循环.每次读完一个完整的数据包,或者出现错误时,我都会手动检查循环内套接字的状态,用: while(true){if(socket->state()==QAbstractSocket::ConnectedState){qDebug()waitForReadyRead(2000)){//...} 当我执行de程序时,一旦连接并且循环开始,它总是 ..
发布时间:2021-12-09 17:20:45 C/C++开发

列自动调整为 QTableView 的大小

我是 Qt 的新手,我刚刚设法使 QTableView 与我的模型一起工作.它有固定的 3 列.当我打开一个窗口时,它看起来不错,但是当我调整窗口大小时,QTableView 本身会调整大小,但列的宽度保持不变.有什么内置的方法可以让它工作吗?我希望每次调整窗口大小时都调整列的大小以适应 QTableView 的边缘. 解决方案 有一个标题标志来确保 QTableView 的最后一列在调整 ..
发布时间:2021-12-09 17:20:29 C/C++开发

QImage 和 QPixmap 有什么区别?

我不明白 QImage 和 QPixmap 之间有什么区别,它们似乎提供相同的功能.什么时候应该使用 QImage,什么时候应该使用 QPixmap? 解决方案 通过阅读 QImage 和 QPixmap: QPixmap 类是一种离屏图像表示,可用作绘图设备. QImage 类提供独立于硬件的图像表示,允许直接访问像素数据,并可用作绘制设备. 编辑:另外,来自@Dave ..
发布时间:2021-12-09 17:20:09 C/C++开发

Qt 插槽和 C++11 lambda

我有一个 QAction 项,我初始化如下: QAction* action = foo->addAction(tr("Some Action"));连接(动作,信号(触发()),这个,插槽(onSomeAction())); 然后 onSomeAction 看起来像: void MyClass::onSomeAction(){QAction* caller = qobject_cast(s ..
发布时间:2021-12-09 17:19:26 C/C++开发

我可以使用 Qt LGPL 许可证并在没有任何限制的情况下出售我的应用程序吗?

我想开始一个跨平台的项目.我进行了研究,现在我几乎可以肯定 Qt 是正确的交易.不过这里有一个很大的障碍:许可. 我想出售我的项目,而且我也不想透露与我的工作相关的任何来源或支付许可费用.我检查并注意到 Qt 提供商业和开源解决方案.我听过太多关于 Qt 许可的相互矛盾的说法,这让我很困惑.有人说即使我使用LGPL版本的Qt,我仍然需要提交我的代码.这是真的吗? 谁能给我一个关于 Qt ..
发布时间:2021-12-09 17:19:19 C/C++开发

如何为 Qt 框架配置 CLion IDE?

如何为 Qt 框架配置 CLion IDE?这个IDE是否兼容Qt,或者还有其他兼容Qt的IDE吗? 我只是想尝试使用 Qt Creator 以外的东西. 解决方案 我和你一样绝望,直到我读到 这个 Quora 讨论.它非常适合我! 总而言之,有两个主要步骤: 首先,CLion 使用 CMake 来编译您的代码.它基于 CMake 配置文件(例如“CMakeLists.t ..
发布时间:2021-12-09 17:19:00 C/C++开发

手工编码 GUI 与 Qt 设计器 GUI

我利用这些假期学习编写 Qt 应用程序.几个小时前,我正在阅读有关 Qt Designer 的文章,这让我想知道:在 Qt 中编写真实世界应用程序的人使用什么来设计他们的 GUI?事实上,人们一般是如何设计 GUI 的? 一方面,我发现手工编写代码在概念上比使用 Qt Designer 更简单,但对于复杂的 GUI,Designer 可能更有意义.使用 Designer 可能可以实现大型 G ..
发布时间:2021-12-09 17:18:50 C/C++开发

Qt Creator 的 VC++ 编译器

我想使用 VC++ 工具集为 XP 和 Vista 构建程序,但我不想购买 IDE,因为我想使用 Qt Creator. 我会下载 Windows SDK 和 Windows 调试工具,但我不确定这是否包括我需要的一切(即:编译器、链接器、nmake、调试器).有没有人使用过这种方法?进展如何? 注意:我知道 VC++ Express,但该版本的编译器具有禁用 AFAIK 的某些功能. ..
发布时间:2021-12-09 17:18:39 C/C++开发