草庐IT

c++ - QProcess 无法传递参数

我想制作一个小型Qt应用程序,以便能够使用-login登录密码作为启动选项在Steam帐户之间快速切换。问题是我无法通过使用带有所需参数的Qt应用程序来运行steam.exe。这是一个代码:QStringpath("C:\\ProgramFiles(x86)\\Steam");QStringListarg;argstartDetached(program,arg); 最佳答案 你问题中的代码有3个问题:QStringitem=arg.takeAt(0);这里takeAt(0)从arg中删除你的论点-列表。所以当你通过arg的那一刻至

c++ - 如何在 Qt C++ 应用程序中显示带有大量小部件的可滚动列表作为项目?

目标:在Windows7、10下的Qt5C++应用程序中拥有一个可滚动的自定义小部件列表,数量达数千(可能更多)。问题:将窗口最小化到任务栏并再次恢复后,程序停止响应。虽然它不会崩溃。CPU使用率常量为25%。即使在等待几分钟后,GUI也不会再次响应。此外,通常会消耗大量内存(超过200M),我认为即使对于100kQLabels(每个QLabel大约2k)来说也太多了。Here是针对类似问题的一些建议解决方案,但我认为这些解决方案不适合我的情况。示例:下面的示例说明了这个问题。为了演示,使用了QLabels列表,但它可以是派生自QWidget的任何类。主窗口.h#ifndefMAINW

c++ - 如何将 QString 转换为 LPCSTR (Unicode)

如何将QString转换为LPCSTR?当定义了#ifdefUNICODE和未定义时,我该怎么做?非常感谢:) 最佳答案 我猜:QStringstr("ddddd");LPCSTRlstr=str.toStdString().c_str(); 关于c++-如何将QString转换为LPCSTR(Unicode),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5443479/

c++ - Windows 中的 Qt : build environment and redistribution problems

我想就无休止的“QtvswxWidgets”问题的一个特定方面征求您的意见。在Windows中使用wxWidgets,我可以继续使用我喜欢的构建工具和编译器(在我的例子中是VisualStudio)。我只需要将wxWidgetsinclude和lib目录添加到编译器/链接器路径。必要时,我只是打开一些wxWidgets表单设计器(如DialogBlocks)并进行表单布局。可执行文件没有任何额外的依赖关系,也不会在重新分发时造成任何问题。另一方面,Qt带有自己的IDE,它往往是主要的开发工具(我不想要)。它安装MinGW。它使用qmake,这是将Qt集成到现有构建环境的又一个挑战。我不

c++ - QT Creator——跨平台编译

为Windows、Mac和Linux编译!唯一的方法是……在每个操作系统上安装QTCreator并编译自己的版本吗?(目前在MacOSX下运行QTCreator) 最佳答案 QtCreator只是一个自动化工具,它会为您创建Makefile和相关文件。如果你想交叉编译,只需扩展你的Makefile就可以交叉编译,例如,通过:exportTARGET=i686-mingw32CXX=$TARGET-g++RANLIB=$TARGET-ranlibAR=$TARGET-armake-fMakefile.mingw引用是here.请注意,

c++ - 如何在 QT 中开发美观、视觉现代的应用程序?

我想知道如何在QT中开发视觉上现代且具有吸引人的GUI应用程序。当我运行QTCreator并开始新项目时,GUI看起来非常基本和“纯粹”,就像简单的win32应用程序一样。但是看看AllegorithmicSubstanceDesigner2的例子,它的GUI看起来有点类似于WPF。还有许多其他具有漂亮GUI的应用程序。所以,问题是:如何做到这一点?QT是否有任何扩展/库提供更丰富的GUI体验?还是必须从头开发?感谢您提前回复。 最佳答案 除了Nano的回答,我认为您值得花时间搜索其他人制作的任何Qt样式表。例如,thisone模仿

c++ - Windows 上的 QApplication::saveState 和 QApplication::commitData

何时在Windows上调用虚函数QApplication::saveState和QApplication::commitData?它们是否被调用,或者session管理只是UNIX的事情?如果应用程序在用户注销时正在运行(并且应用程序被强行关闭),它们会被调用吗? 最佳答案 我写了一个简单的测试应用;见下文。我使用Qt4.7和MSVS2010编译了应用程序并在WindowsXP上运行它。然后我运行了三个不同的测试:启动应用程序。使用主窗口中的关闭按钮终止应用程序。启动应用程序。使用任务管理器中的结束任务终止应用程序。启动应用程序。在

c++ - 以不同的方式解释 QCloseEvent

我有一个用C++和Qt编写的桌面Windows应用程序。该应用程序有几个顶级窗口,偶尔需要以编程方式关闭和重新创建。此外,当程序的用户单击关闭按钮(最小化和最大化按钮旁边的那个)时,整个程序应该退出。我遇到的问题是,在这两种情况下,顶层窗口都会收到一个带有QCloseEvent对象的closeEvent()调用。当我看到这种情况发生时,我想退出程序(因为用户可能单击了关闭按钮),但也有可能窗口正在关闭,因为我正在以编程方式删除它以重新创建它。在QMainWindow::closeEvent()中有没有办法区分这两种情况? 最佳答案

c++ - 删除 msvc dll 依赖以运行 qt 应用程序

如何删除msvcdll(例如:msvcr100.dll)依赖性以运行qt应用程序?我开发了一个qt应用程序,它在dveloper机器上运行良好,但无法在任何其他机器上运行,并给出错误消息“程序无法启动,因为您的计算机中缺少MSVCR100.dll”。我可以通过在应用程序文件夹中复制该文件来解决此错误,但我不想复制,而是想静态链接或以其他方式删除该依赖项。提前致谢 最佳答案 问题是您可能正尝试在安装了与用于构建应用程序本身的版本不同的VisualStudio(MSVC)版本的计算机上运行应用程序。通常,正确的解决方案是在目标机器上安装

windows - QFile::copy 返回真,即使在 Windows 中复制失败

我有一个名为“src”的QString变量,它包含一个文件名。操作QFile::copy(src,target)工作正常,直到目标是“C:”或“C:/”(我在Windows10中遇到问题)。在这种情况下,操作返回true,即使我没有看到任何实际复制到C:/的文件(事实上,通常我不能在没有管理员权限的情况下将任何内容复制到C:/)。此外,当我调试时,我看到它说它已复制到C://(两个斜杠)。是Qt错误还是我错过了什么?UPD:复制,例如,到C:/Users也需要管理员权限失败,因为它应该(返回false)。Qt版本为5.7。更新:QStringsrc="C:/Stuff/somefile