Определите, есть ли в Qt App интерфейс - PullRequest
2 голосов
/ 13 сентября 2011

Я работаю над большим проектом, который использует Qt.Приложение может работать как в графическом, так и в пакетном режимах, и у меня нет доступа к этой информации, где я нахожусь.

Но у меня есть доступ к QApp.Есть ли способ узнать через Qt, существует ли пользовательский интерфейс или он был инициализирован?

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

QApplication имеет функцию topLevelWidgets(), которая возвращает список виджетов верхнего уровня.Вы можете проверить, является ли этот список пустым или нет.

0 голосов
/ 13 сентября 2011

Рассматривали ли вы использовать QCoreApplication вместо QApplication для пакетного режима? Вы не должны использовать QApplication для приложений без графического интерфейса.

Если вы сделаете это таким образом, qApp должен либо вернуть указатель на QCoreApplication (не-GUI), либо QApplication (GUI), который вы можете проверить во время выполнения (если вам нужно) с помощью dynamic_cast.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...