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