我有一个 Qt 5.8(通过 PyQt5)应用程序,其许多测试需要实时QApplication
实例以测试 gui 小部件交互。
然而,在我的新 Mac OS X (10.11.6) 机器上,运行这些测试时,窗口不断被创建和销毁,导致整个系统的 UI 变得高度不稳定(尽管测试按预期通过)。
我的测试甚至不调用QApplication.exec()
- the QApplication()
构造函数足以导致这种情况。在我的 Linux 机器上这不是问题,因为没有创建 Windows(至少在我的 X 配置下)。
QCoreApplication
不是一个选项,因为需要创建和使用实际的 GUI 小部件。尝试交换两者会导致大量测试失败。
Qt 5.8 有没有办法创建一个真正的无头QApplication
不使用实例QCoreApplication
?
我遇到了同样的问题,我认为解决方案是添加参数,-platform offscreen
到命令行QApplication
.
我已经查到资料了here https://doc.qt.io/qt-5/qguiapplication.html#platformName-prop
假设您的应用程序可执行文件名为app_exe
int main(int argc, char* argv[])
{
int argument_count = 3;
char* argument[3];
argument[0] = const_cast<char*>("app_exe");
argument[1] = const_cast<char*>("-platform");
argument[2] = const_cast<char*>("offscreen");
QApplication app(argument_count, argument);
return app.exec();
}
因此,您的应用程序应该运行,但不显示任何 GUI。要查看应用程序是否正在运行,您应列出所有正在运行的任务,并且您的应用程序应在其中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)