Должна ли моя программа Qt5 для шизофренической консоли / графического интерфейса использовать QApplication или QCoreApplication?

Моя программа будет либо открывать графический интерфейс, либо не зависеть от некоторых параметров командной строки. Прямо сейчас я инстанцирую QApplication для моего основного цикла событий, но заметил, что моя программа прерывается при запуске с безголовой машины (отсутствует xorg/xcb), если я не укажу некоторые переменные окружения, чтобы обманным путем заставить поверить, что запущен xorg.

Когда я вместо того, чтобы создать экземпляр QCoreApplication У меня нет доступа к activeWindow(). Код, требующий activeWindow (), никогда не будет запускаться в тех случаях, когда программа запускается без заголовка (то есть из-за параметров командной строки).

Итак, я спрашиваю: можно ли будет заставить QApplication работать без проблем даже на безголовой машине и просто не показывать никакой графический интерфейс?

Какие у меня есть другие варианты?

1 ответ

Решение

Нет, это невозможно. Но вы можете создавать QCoreApplication или QApplication в зависимости от аргументов командной строки.

Другие вопросы по тегам