我正在开发一个使用Qt的大型项目。该应用程序可以选择在GUI或批处理模式下运行,我无法访问该信息。
但是,我确实可以访问QApp。有没有办法通过Qt了解UI是否存在或已经初始化?
答案 0 :(得分:2)
QApplication
有一个topLevelWidgets()
函数,可返回顶级窗口小部件列表。您可以检查该列表是否为空。
答案 1 :(得分:0)
对于批处理模式,您是否考虑过使用QCoreApplication代替QApplication?您不应该将QApplication用于非GUI应用程序。
如果你这样做,qApp应该返回一个指向QCoreApplication(非GUI)或QApplication(GUI)的指针,你可以在运行时检查它(如果你需要)和dynamic_cast。