3
我的程序可以在没有GUI的服务器上运行,也可以在桌面上运行。 当它运行在可以显示GUI的系统上时,我想实例化QApplication,并且当它位于服务器上时,我想要QCoreApplication。确定系统是否可以实例化QApplication(GUI支持)
如果我实例化的QApplication的服务器上,它要么段错误(至少它曾经),或显示错误消息和退出,没有让我有机会来实例化QCoreApplication,而不是:
此应用程序失败开始是因为它找不到或加载Qt平台插件“xcb”。可用的平台插件是:linuxfb, 最小,屏幕外。重新安装该应用程序可能会解决此问题。
认真吗?
当我在服务器上运行我的程序时,我只传递一个-noGui参数。它工作正常,但我想检测系统是否可以使用QApplication,所以我可以摆脱这种说法。
我确定在某个地方已经有答案了,但我无法接受它。
为什么不直接检查插件呢? – lpapp 2014-11-03 04:10:18
插件可能因系统而异,这可能会导致误报。我与Qt合作“代码一次,无处不在”。我更喜欢Qt库中更清洁和标准的方式,但是,这可能是最后的解决方案。 – deck 2014-11-03 04:20:33
不是,实际上,这可以在没有ifdefs的情况下进行编程。 – lpapp 2014-11-03 04:21:17