Описание тега qapplication

Класс QApplication является частью классов Qt C++, управляющих потоком управления и основными настройками приложения с графическим интерфейсом.

В QApplication Класс управляет потоком управления и основными настройками приложения GUI.QApplication specializes QGuiApplicationс некоторыми функциями, необходимыми для приложений на основе QWidget. Он обрабатывает специфическую инициализацию и завершение виджета.

Для любого приложения с графическим интерфейсом пользователя, использующего Qt, существует ровно один QApplication объект, независимо от того, имеет ли приложение 0, 1, 2 или более окон в любой момент времени.

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

В QApplication объект доступен через instance() функция, которая возвращает указатель, эквивалентный глобальному qApp указатель.

QApplicationОсновные сферы ответственности:

  • Он инициализирует приложение с настройками рабочего стола пользователя, такими как palette(), font() а также doubleClickInterval(). Он отслеживает эти свойства на случай, если пользователь глобально изменит рабочий стол, например, через какую-то панель управления.
  • Он выполняет обработку событий, что означает, что он получает события от базовой оконной системы и отправляет их соответствующим виджетам. ИспользуяsendEvent() а также postEvent() вы можете отправлять свои собственные события виджетам.
  • Он анализирует общие аргументы командной строки и соответственно устанавливает свое внутреннее состояние. См. Дополнительную информацию в документации конструктора ниже.
  • Он определяет внешний вид приложения, заключенный в QStyleобъект. Это можно изменить во время выполнения с помощьюsetStyle().
  • Он определяет, как приложение должно распределять цвета. ВидетьsetColorSpec() для подробностей.
  • Он обеспечивает локализацию строк, которые видны пользователю через translate().
  • Он предоставляет некоторые волшебные объекты, такие как рабочий стол () иclipboard().
  • Он знает об окнах приложения. Вы можете спросить, какой виджет находится в определенной позиции, используяwidgetAt(), получить списокtopLevelWidgets() а также closeAllWindows(), так далее.
  • Он управляет обработкой курсора мыши в приложении, см.setOverrideCursor().