Класс QGuiApplication
Класс QGuiApplication управляет потоком управления и основными настройками графического приложения. Подробнее...
| Заголовок: | #include <QGuiApplication> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
| Наследует от: | QCoreApplication |
Свойства
|
|
- 5 свойств унаследовано от QCoreApplication
- 1 свойство унаследовано от QObject
Публичные функции
| QGuiApplication(int &argc, char **argv) | |
| virtual | ~QGuiApplication() |
| qreal | devicePixelRatio() const |
| bool | isSavingSession() const |
| bool | isSessionRestored() const |
| QString | sessionId() const |
| QString | sessionKey() const |
Переопределенные публичные функции
| virtual bool | notify(QObject *object, QEvent *event) override |
- 6 публичных функций унаследовано от QCoreApplication
- 34 публичных функции унаследовано от QObject
Сигналы
| void | applicationDisplayNameChanged() |
| void | applicationStateChanged(Qt::ApplicationState state) |
| void | commitDataRequest(QSessionManager &manager) |
| void | focusObjectChanged(QObject *focusObject) |
| void | focusWindowChanged(QWindow *focusWindow) |
| void | fontChanged(const QFont &font) |
| void | fontDatabaseChanged() |
| void | lastWindowClosed() |
| void | layoutDirectionChanged(Qt::LayoutDirection direction) |
| void | paletteChanged(const QPalette &palette) |
| void | primaryScreenChanged(QScreen *screen) |
| void | saveStateRequest(QSessionManager &manager) |
| void | screenAdded(QScreen *screen) |
| void | screenRemoved(QScreen *screen) |
- 1 сигнал унаследован от QCoreApplication
- 2 сигнала унаследовано от QObject
Статические публичные члены
- 40 статических публичных членов, унаследованных от QCoreApplication
- 10 статических публичных членов, унаследованных от QObject
Переопределённые защищённые функции
| virtual bool | обработкаСобытия(QEvent *e) override |
- 1 защищённая функция, унаследованная от QCoreApplication
- 9 защищённых функций, унаследованных от QObject
Макросы
| qGuiApp |
Дополнительные унаследованные члены
- 1 публичный слот, унаследованный от QCoreApplication
- 1 публичный слот, унаследованный от QObject
- 1 публичная переменная, унаследованная от QCoreApplication
- 1 публичная переменная, унаследованная от QObject
- 1 защищённая функция, унаследованная от QCoreApplication
- 9 защищённых функций, унаследованных от QObject
- 2 защищённых переменных, унаследованных от QObject
Подробное описание
Класс QGuiApplication управляет потоком управления и основными настройками графического приложения.
QGuiApplication содержит основной цикл обработки событий, где обрабатываются и рассылаются все события от системы окон и других источников. Он также обрабатывает инициализацию и завершение приложения и предоставляет управление сессиями. Кроме того, QGuiApplication обрабатывает большинство системных и прикладных настроек.
Для любого графического приложения, использующего Qt, существует ровно один объект QGuiApplication, независимо от того, имеет ли приложение 0, 1, 2 или более окон в данный момент. Для приложений Qt без графического интерфейса используйте QCoreApplication, так как он не зависит от модуля Qt GUI. Для приложений Qt на основе QWidget используйте QApplication, так как он предоставляет некоторые функции, необходимые для создания экземпляров QWidget.
Объект QGuiApplication доступен через функцию instance(), которая возвращает указатель, эквивалентный глобальному указателю qApp.
Основные обязанности QGuiApplication:
- Он инициализирует приложение настройками рабочего стола пользователя, такими как palette(), font() и styleHints(). Он отслеживает эти свойства на случай, если пользователь изменит настройки рабочего стола глобально, например, через какой-либо инструмент управления.
- Он обрабатывает события, то есть получает события от базовой системы окон и рассылает их соответствующим виджетам. Вы можете отправлять свои собственные события в окна, используя sendEvent() и postEvent().
- Он анализирует общие аргументы командной строки и устанавливает своё внутреннее состояние в соответствии с ними. Более подробную информацию см. в документации конструктора ниже.
- Он обеспечивает локализация строк, видимых пользователю, через translate().
- Он предоставляет некоторые магические объекты, такие как clipboard().
- Он знает о окнах приложения. Вы можете узнать, какое окно находится в определённой позиции, используя topLevelAt(), получить список topLevelWindows() и т. д.
- Он управляет обработкой курсора мыши, см. setOverrideCursor()
- Он предоставляет поддержку сложного управления сеансами. Это позволяет приложениям завершаться корректно при выходе пользователя из системы, отменять процесс завершения, если завершение невозможно, а также сохранять всё состояние приложения для последующего сеанса. Дополнительную информацию см. в isSessionRestored(), sessionId() и commitDataRequest() и saveStateRequest().
Поскольку объект QGuiApplication выполняет много инициализации, его необходимо создать до создания других объектов, связанных с пользовательским интерфейсом. QGuiApplication также обрабатывает общие аргументы командной строки. Поэтому обычно рекомендуется создать его до любой интерпретации или модификации argv в самом приложении.
| Группы функций | |
|---|---|
| Настройки системы | desktopSettingsAware(), setDesktopSettingsAware(), styleHints(), palette(), setPalette(), font(), setFont(). |
| Обработка событий | exec(), processEvents(), exit(), quit(). sendEvent(), postEvent(), sendPostedEvents(), removePostedEvents(), hasPendingEvents(), notify(). |
| Окна | allWindows(), topLevelWindows(), focusWindow(), clipboard(), topLevelAt(). |
| Расширенная обработка курсора | overrideCursor(), setOverrideCursor(), restoreOverrideCursor(). |
| Управление сеансами | isSessionRestored(), sessionId(), commitDataRequest(), saveStateRequest(). |
| Разное | startingUp(), closingDown(). |
См. также QCoreApplication, QAbstractEventDispatcher и QEventLoop.
Документация свойств
applicationDisplayName : QString
Это свойство содержит отображаемое имя приложения.
Это имя отображается пользователю, например, в заголовках окон. При необходимости оно может быть переведено.
Если не задано, имя приложения по умолчанию соответствует имени приложения.
Это свойство было добавлено в Qt 5.0.
Функции доступа:
| QString | applicationDisplayName() |
| void | setApplicationDisplayName(const QString &name) |
Сигнал уведомления:
| void | applicationDisplayNameChanged() |
См. также applicationName.
desktopFileName : QString
Это свойство содержит базовое имя записи в меню «Рабочий стол» для данного приложения.
Это имя файла записи в меню «Рабочий стол», без полного пути, представляющей данное приложение в соответствии со спецификацией freedesktop desktop entry.
Это свойство дает точное указание на то, какая запись в меню «Рабочий стол» представляет приложение, и необходимо для системы окон для извлечения этой информации без использования приблизительных эвристик.
Последнюю версию спецификации freedesktop desktop entry можно получить здесь.
Это свойство было добавлено в Qt 5.7.
Функции доступа:
| QString | desktopFileName() |
| void | setDesktopFileName(const QString &name) |
layoutDirection : Qt::LayoutDirection
Это свойство содержит направление вывода по умолчанию для данного приложения.
При запуске системы направление вывода по умолчанию зависит от языка приложения.
Сигнал уведомления был добавлен в Qt 5.4.
Функции доступа:
| Qt::LayoutDirection | layoutDirection() |
| void | setLayoutDirection(Qt::LayoutDirection direction) |
Сигнал уведомления:
| void | layoutDirectionChanged(Qt::LayoutDirection direction) |
См. также QWidget::layoutDirection, isLeftToRight() и isRightToLeft().
platformName : const QString
Это свойство содержит имя плагина платформы.
Плагины платформы QPA расположены в qtbase\src\plugins\platforms. В настоящее время поддерживаются следующие имена плагинов платформы:
android-
cocoa— плагин платформы для macOS. directfb-
eglfs— плагин платформы для запуска приложений Qt5 поверх EGL и OpenGL ES 2.0 без реальной системы окон (например, X11 или Wayland). Дополнительную информацию см. в EGLFS. -
ios(также используется для tvOS) -
kms— экспериментальный плагин платформы, использующий режимирование отображения ядра и DRM (Direct Rendering Manager). -
linuxfb— пишет непосредственно в буфер кадра. Дополнительную информацию см. в LinuxFB. -
minimal— предоставляется в качестве примера для разработчиков, желающих создавать собственные плагины платформы. Однако вы можете использовать плагин для запуска графических приложений в средах без графического интерфейса, таких как серверы. -
minimalegl— пример плагина. offscreenopenwfdqnxwindows-
wayland— плагин платформы для современных настольных систем Linux и некоторых встраиваемых систем. -
xcb— плагин X11, используемый на обычных настольных платформах Linux.
Дополнительную информацию о плагинах платформы для встраиваемых устройств Linux см. в разделе Qt для встраиваемых систем Linux.
Функции доступа:
| QString | platformName() |
primaryScreen : QScreen* const
Это свойство содержит основной (или по умолчанию) экран приложения.
Это будет экран, на котором будут отображаться окна QWindows по умолчанию, если не указано иное.
Сигнал primaryScreenChanged был добавлен в Qt 5.6.
Функции доступа:
| QScreen * | primaryScreen() |
Сигнал уведомления:
| void | primaryScreenChanged(QScreen *screen) |
См. также screens().
quitOnLastWindowClosed : bool
Это свойство указывает, выйдет ли приложение неявным образом при закрытии последнего окна.
Значение по умолчанию — true.
Если это свойство равно true, приложение завершается при закрытии последнего видимого основного окна (т.е. окна без родительского окна).
Функции доступа:
| bool | quitOnLastWindowClosed() |
| void | setQuitOnLastWindowClosed(bool quit) |
См. также quit() и QWindow::close().
windowIcon : QIcon
Это свойство содержит значок окна по умолчанию.
Функции доступа:
| QIcon | windowIcon() |
| void | setWindowIcon(const QIcon &icon) |
См. также QWindow::setIcon() и Установление значка приложения.
Документация по функциям членов
QGuiApplication::QGuiApplication(int &argc, char **argv)
Инициализирует систему окон и создает объект приложения с argc аргументами командной строки в argv.
Предупреждение: Данные, на которые ссылаются argc и argv, должны оставаться валидными на протяжении всего жизненного цикла объекта QGuiApplication. Кроме того, argc должно быть больше нуля, а argv — содержать по крайней мере одну допустимую строку символов.
Глобальная переменная qApp ссылается на этот объект приложения. Должен быть создан только один объект приложения.
Этот объект приложения должен быть создан до создания любого устройства рисования (включая пиктограммы, битовые карты и т.д.).
Примечание: argc и argv могут быть изменены по мере удаления Qt аргументов командной строки, которые он распознаёт.
Поддерживаемые параметры командной строки
Все программы Qt автоматически поддерживают набор параметров командной строки, позволяющих изменять способ взаимодействия Qt с системой окон. Некоторые параметры также доступны через переменные среды, которые предпочтительнее использовать, если приложение может запускать подпроцессы графического интерфейса или другие приложения (переменные среды будут унаследованы дочерними процессами). В случае сомнений используйте переменные среды.
В настоящее время поддерживаются следующие параметры:
-
-platformplatformName[:options], указывает плагин Qt Platform Abstraction (QPA).Переопределяет переменную среды
QT_QPA_PLATFORM. -
-platformpluginpathpath, указывает путь к плагинам платформы.Переопределяет переменную среды
QT_QPA_PLATFORM_PLUGIN_PATH. -
-platformthemeplatformTheme, указывает тему платформы.Переопределяет переменную среды
QT_QPA_PLATFORMTHEME. -
-pluginplugin, указывает дополнительные плагины для загрузки. Аргумент может встречаться несколько раз.Добавляется к плагинам в переменной среды
QT_QPA_GENERIC_PLUGINS. -
-qmljsdebugger=, активирует отладчик QML/JS с указанным портом. Значение должно иметь форматport:1234[,block], где block необязательно и заставит приложение ждать подключения отладчика. -
-qwindowgeometrygeometry, указывает геометрию окна для основного окна с использованием синтаксиса X11. Например:-qwindowgeometry 100x100+50+50 -
-qwindowicon, устанавливает значок по умолчанию для окна. -
-qwindowtitle, устанавливает заголовок первого окна. -
-reverse, устанавливает направление макета приложения на Qt::RightToLeft. Этот параметр предназначен для отладки и не должен использоваться в производственной среде. Значение по умолчанию автоматически определяется по локали пользователя (см. также QLocale::textDirection()). -
-sessionsession, восстанавливает приложение из предыдущей сессии.
Следующие стандартные параметры командной строки доступны для X11:
-
-displayhostname:screen_number, переключает дисплеи в X11.Переопределяет переменную среды
DISPLAY. -
-geometrygeometry, аналогично-qwindowgeometry.
Параметры, специфичные для платформы
Вы можете указать параметры, специфичные для платформы, для опции -platform. Разместите их после имени плагина платформы после двоеточия в виде списка, разделенного запятыми. Например, -platform windows:dialogs=xp,fontengine=freetype.
Следующие параметры доступны для -platform windows:
-
dialogs=[xp|none],xpиспользует родные диалоговые окна в стиле XP, аnoneотключает их. -
fontengine=freetype, использует шрифтовой движок FreeType. -
menus=[native|none], управляет использованием родных меню.Родные меню реализованы с помощью Win32 API и проще, чем меню на основе QMenu, например, они позволяют размещать виджеты на них или изменять свойства, такие как шрифты, и не предоставляют сигналов наведения. Они предназначены в основном для Qt Quick. По умолчанию они будут использоваться, если приложение не является экземпляром QApplication или для приложений Qt Quick Controls 2.
Следующий параметр доступен для -platform cocoa (на macOS):
-
fontengine=freetype, использует шрифтовой движок FreeType.
Дополнительную информацию о параметрах, специфичных для платформы, доступных для встроенных платформ Linux, см. в разделе Qt для встроенных систем Linux.
См. также arguments() и QGuiApplication::platformName.
[virtual] QGuiApplication::~QGuiApplication()
Деструктор приложения.
[static] QWindowList QGuiApplication::allWindows()
Возвращает список всех окон в приложении.
Список пустой, если окон нет.
См. также topLevelWindows().
[static] Qt::ApplicationState QGuiApplication::applicationState()
Возвращает текущее состояние приложения.
Вы можете реагировать на изменения состояния приложения, чтобы выполнять действия, такие как приостановка/возобновление задач, требующих больших вычислений, освобождение/загрузка ресурсов или сохранение/восстановление данных приложения.
Эта функция была добавлена в Qt 5.2.
[signal] void QGuiApplication::applicationStateChanged(Qt::ApplicationState state)
Этот сигнал излучается, когда состояние state приложения изменяется.
Эта функция была добавлена в Qt 5.2.
См. также applicationState().
[static] void QGuiApplication::changeOverrideCursor(const QCursor &cursor)
Изменяет текущий активный курсор приложения на cursor.
Эта функция не имеет эффекта, если setOverrideCursor() не вызывалась.
См. также setOverrideCursor(), overrideCursor(), restoreOverrideCursor(), и QWidget::setCursor().
[static] QClipboard *QGuiApplication::clipboard()
Возвращает объект для взаимодействия с буфером обмена.
[signal] void QGuiApplication::commitDataRequest(QSessionManager &manager)
Этот сигнал связан с управлением сессиями. Он излучается, когда QSessionManager хочет, чтобы приложение сохранило все свои данные.
Обычно это означает сохранение всех открытых файлов после получения разрешения от пользователя. Кроме того, вы можете предоставить способ, с помощью которого пользователь может отменить завершение работы.
Вы не должны завершать приложение внутри этого сигнала. Вместо этого менеджер сессии может или не может сделать это впоследствии, в зависимости от контекста.
Предупреждение: Внутри этого сигнала невозможно взаимодействие с пользователем, если вы не запросите явное разрешение у manager. См. QSessionManager::allowsInteraction() и QSessionManager::allowsErrorInteraction() для получения подробной информации и примера использования.
Примечание: При подключении к этому сигналу следует использовать Qt::DirectConnection.
Эта функция была добавлена в Qt 4.2.
См. также setFallbackSessionManagementEnabled(), isSessionRestored(), sessionId(), saveStateRequest(), и Управление сессиями.
[static] bool QGuiApplication::desktopSettingsAware()
Возвращает true если Qt настроено использовать стандартные цвета, шрифты и т. д. системы; в противном случае возвращает false. Значение по умолчанию true.
См. также setDesktopSettingsAware().
qreal QGuiApplication::devicePixelRatio() const
Возвращает наибольшее значение соотношения пикселей устройства экрана, найденное в системе. Это соотношение между физическими пикселями и пикселями, независимыми от устройства.
Используйте эту функцию только тогда, когда вы не знаете, какое окно вы нацеливаете. Если вы знаете целевое окно, используйте QWindow::devicePixelRatio() вместо этого.
См. также QWindow::devicePixelRatio().
[override virtual protected] bool QGuiApplication::event(QEvent *e)
Переопределено из QCoreApplication::event().
[static] int QGuiApplication::exec()
Входит в основной цикл событий и ожидает, пока не будет вызван exit(), а затем возвращает значение, заданное для exit() (которое равно 0, если exit() вызывается через quit()).
Необходимо вызвать эту функцию для запуска обработки событий. Основной цикл событий получает события от системы окон и передает их виджетам приложения.
В целом, взаимодействие с пользователем невозможно до вызова exec().
Для выполнения обработки в режиме ожидания, например, выполнения специальной функции всякий раз, когда нет ожидающих событий, используйте QTimer с таймаутом 0. Более сложные схемы обработки в режиме ожидания могут быть реализованы с помощью processEvents().
Рекомендуется подключать код завершения к сигналу aboutToQuit(), а не помещать его в функцию вашего приложения main(). Это связано с тем, что на некоторых платформах вызов QApplication::exec() может не возвращаться.
См. также quitOnLastWindowClosed, quit(), exit(), processEvents(), и QCoreApplication::exec().
[static] QObject *QGuiApplication::focusObject()
Возвращает QObject в текущем активном окне, который будет окончательным получателем событий, связанных с фокусом, таких как события клавиатуры.
[signal] void QGuiApplication::focusObjectChanged(QObject *focusObject)
Этот сигнал излучается, когда изменяется окончательный получатель событий, связанных с фокусом. focusObject — новый получатель.
См. также focusObject().
[static] QWindow *QGuiApplication::focusWindow()
Возвращает QWindow, получающий события, связанные с фокусом, такие как события нажатия клавиш.
[signal] void QGuiApplication::focusWindowChanged(QWindow *focusWindow)
Этот сигнал испускается при изменении фокусированного окна. focusWindow — новое фокусированное окно.
См. также focusWindow().
[static] QFont QGuiApplication::font()
Возвращает шрифт по умолчанию для приложения.
См. также setFont().
[signal] void QGuiApplication::fontChanged(const QFont &font)
Этот сигнал испускается при изменении шрифта приложения.
Эта функция была добавлена в Qt 5.11.
См. также font().
[signal] void QGuiApplication::fontDatabaseChanged()
Этот сигнал испускается при загрузке или удалении шрифтов приложения.
См. также QFontDatabase::addApplicationFont(), QFontDatabase::addApplicationFontFromData(), QFontDatabase::removeAllApplicationFonts() и QFontDatabase::removeApplicationFont().
[static] QInputMethod *QGuiApplication::inputMethod()
Возвращает метод ввода.
Метод ввода возвращает свойства состояния и положения виртуальной клавиатуры. Он также предоставляет информацию о позиции текущего фокусированного элемента ввода.
См. также QInputMethod.
[static] bool QGuiApplication::isFallbackSessionManagementEnabled()
Возвращает значение true, если QGuiApplication будет использовать резервный механизм управления сеансами.
Значение по умолчанию — true.
Если это true, и менеджер сеансов допускает взаимодействие с пользователем, QGuiApplication попытается закрыть окна верхнего уровня после того, как был испущен сигнал commitDataRequest(). Если окно не может быть закрыто, завершение сеанса будет отменено, и приложение продолжит работу.
Резервный механизм управления сеансами полезен только для приложений, которые имеют функцию «Вы уверены, что хотите закрыть это окно?» или другую логику, предотвращающую закрытие окна верхнего уровня в зависимости от определённых условий, и которые ничего не делают, чтобы явно реализовать управление сеансами. В приложениях, которые реализуют управление сеансами с использованием соответствующего API управления сеансами, резервный механизм управления сеансами вмешивается и может нарушить логику управления сеансами.
Предупреждение: Если все окна закрыты из-за резервного механизма управления сеансами, и quitOnLastWindowClosed() имеет значение true, приложение завершит работу, прежде чем оно будет явно указано завершить работу через протокол управления сеансами платформы. Это нарушение протокола может помешать менеджеру сеансов платформы сохранить состояние приложения.
Эта функция была добавлена в Qt 5.6.
См. также setFallbackSessionManagementEnabled(), QSessionManager::allowsInteraction(), saveStateRequest(), commitDataRequest() и Управление сеансами.
[static] bool QGuiApplication::isLeftToRight()
Возвращает true, если направление макета приложения — Qt::LeftToRight; в противном случае возвращает false.
См. также layoutDirection() и isRightToLeft().
[static] bool QGuiApplication::isRightToLeft()
Возвращает true, если направление макета приложения — Qt::RightToLeft; в противном случае возвращает false.
См. также layoutDirection() и isLeftToRight().
bool QGuiApplication::isSavingSession() const
Возвращает true, если приложение в данный момент сохраняет сеанс; в противном случае возвращает false.
Это значение true когда испускаются commitDataRequest() и saveStateRequest(), но также и когда окна закрываются после этого механизмом управления сеансами.
Эта функция была добавлена в Qt 5.0.
См. также sessionId(), commitDataRequest() и saveStateRequest().
bool QGuiApplication::isSessionRestored() const
Возвращает true, если приложение было восстановлено из предыдущего сеанса; в противном случае возвращает false.
См. также sessionId(), commitDataRequest() и saveStateRequest().
[static] Qt::KeyboardModifiers QGuiApplication::keyboardModifiers()
Возвращает текущее состояние модификаторных клавиш на клавиатуре. Текущее состояние обновляется синхронно по мере опустошения очереди событий, которые могут спонтанно изменить состояние клавиатуры (QEvent::KeyPress и QEvent::KeyRelease события).
Следует отметить, что это может не отражать фактические клавиши, удерживаемые на устройстве ввода в момент вызова, а скорее модификаторы, последние отчёт о которых поступил в одном из указанных выше событий. Если нет клавиш, удерживаемых, возвращается Qt::NoModifier.
См. также mouseButtons() и queryKeyboardModifiers().
[signal] void QGuiApplication::lastWindowClosed()
Этот сигнал испускается из exec() при закрытии последнего видимого основного окна (т. е. окна без родительского окна).
По умолчанию QGuiApplication завершает работу после испускания этого сигнала. Это поведение можно отключить, установив quitOnLastWindowClosed в false.
См. также QWindow::close() и QWindow::isTopLevel().
[static] QWindow *QGuiApplication::modalWindow()
Возвращает наиболее недавно показанное модальное окно. Если видимых модальных окон нет, эта функция возвращает ноль.
Модальное окно — это окно, у которого свойство modality установлено в Qt::WindowModal или Qt::ApplicationModal. Модальное окно должно быть закрыто, прежде чем пользователь сможет продолжить работу с другими частями программы.
Модальные окна организованы в стеке. Эта функция возвращает модальное окно в верхней части стека.
См. также Qt::WindowModality и QWindow::setModality().
[static] Qt::MouseButtons QGuiApplication::mouseButtons()
Возвращает текущее состояние кнопок мыши. Текущее состояние обновляется синхронно по мере опустошения очереди событий, которые могут спонтанно изменить состояние мыши (QEvent::MouseButtonPress и QEvent::MouseButtonRelease события).
Следует отметить, что это может не отражать фактические кнопки, удерживаемые на устройстве ввода в момент вызова, а скорее кнопки мыши, последние отчёт о которых поступил в одном из указанных выше событий. Если не нажаты никакие кнопки мыши, возвращается Qt::NoButton.
См. также keyboardModifiers().
[override virtual] bool QGuiApplication::notify(QObject *object, QEvent *event)
Переопределено из QCoreApplication::notify().
[static] QCursor *QGuiApplication::overrideCursor()
Возвращает активный курсор переопределения приложения.
Эта функция возвращает 0, если курсор приложения не определён (т. е. внутренний стек курсоров пуст).
См. также setOverrideCursor() и restoreOverrideCursor().
[static] QPalette QGuiApplication::palette()
Возвращает палитру по умолчанию приложения.
См. также setPalette().
[signal] void QGuiApplication::paletteChanged(const QPalette &palette)
Этот сигнал испускается при изменении палитры приложения.
Эта функция была добавлена в Qt 5.4.
См. также palette().
[static] QFunctionPointer QGuiApplication::platformFunction(const QByteArray &function)
Возвращает указатель на функцию из плагин-модуля платформы, соответствующий function
[static] QPlatformNativeInterface *QGuiApplication::platformNativeInterface()
Возвращает нативный интерфейс платформы для функциональности, специфичной для платформы.
[static] Qt::KeyboardModifiers QGuiApplication::queryKeyboardModifiers()
Запрашивает и возвращает состояние клавиш модификаторов на клавиатуре. В отличие от keyboardModifiers, этот метод возвращает фактическое состояние нажатых клавиш на устройстве ввода в момент вызова метода.
Он не полагается на то, что события нажатия клавиш были получены этим процессом, что позволяет проверить модификаторы, например, при перемещении окна. Обратите внимание, что в большинстве случаев вы должны использовать keyboardModifiers(), так как он быстрее и точнее, поскольку содержит состояние модификаторов в момент получения обрабатываемого события.
См. также keyboardModifiers().
[static] void QGuiApplication::restoreOverrideCursor()
Отменяет последнее действие setOverrideCursor().
Если setOverrideCursor() был вызван дважды, вызов restoreOverrideCursor() активирует первый установленный курсор. Вызов этой функции второй раз восстанавливает оригинальные курсоры виджетов.
См. также setOverrideCursor() и overrideCursor().
[signal] void QGuiApplication::saveStateRequest(QSessionManager &manager)
Этот сигнал обрабатывает управление сеансами. Он вызывается, когда менеджер сеансов хочет, чтобы приложение сохранило свое состояние для будущего сеанса.
Например, текстовый редактор создаст временный файл, который включает текущее содержимое буферов редактирования, положение курсора и другие аспекты текущего сеанса редактирования.
Вы никогда не должны завершать приложение внутри этого сигнала. Вместо этого менеджер сеансов может или не может сделать это впоследствии, в зависимости от контекста. Кроме того, большинство менеджеров сеансов, скорее всего, запросят сохраненное состояние сразу после запуска приложения. Это позволяет менеджеру сеансов узнать о политике перезапуска приложения.
Предупреждение: Внутри этого сигнала невозможно взаимодействие с пользователем, если вы не запросите явного разрешения у manager. Смотрите QSessionManager::allowsInteraction() и QSessionManager::allowsErrorInteraction() для получения подробностей.
Примечание: При подключении к этому сигналу следует использовать Qt::DirectConnection.
Функция была добавлена в Qt 4.2.
См. также isSessionRestored(), sessionId(), commitDataRequest() и Управление сеансами.
[signal] void QGuiApplication::screenAdded(QScreen *screen)
Этот сигнал излучается всякий раз, когда новый экран screen добавляется в систему.
См. также screens(), primaryScreen и screenRemoved().
[static] QScreen *QGuiApplication::screenAt(const QPoint &point)
Возвращает экран в позиции point или nullptr если вне любого экрана.
Точка point относится к virtualGeometry() каждого набора виртуальных родительских элементов. Если точка соответствует нескольким наборам виртуальных родительских элементов, возвращается первый соответствие.
Функция была добавлена в Qt 5.10.
[signal] void QGuiApplication::screenRemoved(QScreen *screen)
Этот сигнал излучается всякий раз, когда экран screen удаляется из системы. Он предоставляет возможность управлять окнами на экране до того, как Qt вернется к перемещению их на главный экран.
Функция была добавлена в Qt 5.4.
См. также screens(), screenAdded(), QObject::destroyed() и QWindow::setScreen().
[static] QList<QScreen *> QGuiApplication::screens()
Возвращает список всех экранов, связанных с системой окон, к которой подключено приложение.
QString QGuiApplication::sessionId() const
Возвращает идентификатор текущего сеанса.
Если приложение восстановлено из предыдущего сеанса, этот идентификатор такой же, как и в предыдущем сеансе. Идентификатор сеанса гарантированно уникален как для разных приложений, так и для разных экземпляров одного приложения.
См. также isSessionRestored(), sessionKey(), commitDataRequest() и saveStateRequest().
QString QGuiApplication::sessionKey() const
Возвращает ключ сеанса в текущем сеансе.
Если приложение восстановлено из предыдущего сеанса, этот ключ такой же, как и в момент окончания предыдущего сеанса.
Ключ сеанса изменяется каждый раз, когда сеанс сохраняется. Если процесс завершения работы отменён, при повторном завершении работы будет использован другой ключ сеанса.
См. также isSessionRestored(), sessionId(), commitDataRequest() и saveStateRequest().
[static] void QGuiApplication::setDesktopSettingsAware(bool on)
Устанавливает, будет ли Qt использовать стандартные цвета, шрифты и т. д. системы в значении on. По умолчанию это true.
Эта функция должна вызываться до создания объекта QGuiApplication, например так:
int main(int argc, char *argv[])
{
QApplication::setDesktopSettingsAware(false);
QApplication app(argc, argv);
...
return app.exec();
} См. также desktopSettingsAware().
[static] void QGuiApplication::setFallbackSessionManagementEnabled(bool enabled)
Устанавливает, будет ли QGuiApplication использовать резервный механизм управления сеансами в значение enabled.
Функция была добавлена в Qt 5.6.
См. также isFallbackSessionManagementEnabled().
[static] void QGuiApplication::setFont(const QFont &font)
Изменяет шрифт по умолчанию приложения на font.
См. также font().
[static] void QGuiApplication::setOverrideCursor(const QCursor &cursor)
Устанавливает курсор переопределения приложения на cursor.
Курсоры переопределения приложения предназначены для отображения пользователю, что приложение находится в специальном состоянии, например, во время операции, которая может занять некоторое время.
Этот курсор будет отображаться во всех виджетах приложения до тех пор, пока restoreOverrideCursor() или другой setOverrideCursor() не будет вызван.
Курсоры приложения хранятся в внутренней стеке. setOverrideCursor() помещает курсор в стек, а restoreOverrideCursor() извлекает активный курсор из стека. changeOverrideCursor() изменяет текущий активный курсор переопределения приложения.
Каждый вызов setOverrideCursor() должен в конечном итоге быть сопровождаемый соответствующим restoreOverrideCursor(), в противном случае стек никогда не будет очищен.
Пример:
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); calculateHugeMandelbrot(); // lunch time... QApplication::restoreOverrideCursor();
См. также overrideCursor(), restoreOverrideCursor(), changeOverrideCursor() и QWidget::setCursor().
[static] void QGuiApplication::setPalette(const QPalette &pal)
Изменяет палитру по умолчанию приложения на pal.
См. также palette().
[static] QStyleHints *QGuiApplication::styleHints()
Возвращает подсказки стиля приложения.
Подсказки стиля содержат набор свойств, зависящих от платформы, таких как интервалы двойного щелчка, выделение полной ширины и другие.
Подсказки можно использовать для более тесной интеграции с базовой платформой.
См. также QStyleHints.
[static] void QGuiApplication::sync()
Функция, которая может быть использована для синхронизации состояния Qt с состоянием системы окон.
Эта функция сначала очистит события Qts, вызвав QCoreApplication::processEvents(), затем плагин платформы синхронизируется с windowsystem, и, наконец, события Qts будут доставлены другим вызовом QCoreApplication::processEvents();
Эта функция является трудоёмкой, и её использование не рекомендуется.
Эта функция была введена в Qt 5.2.
[static] QWindow *QGuiApplication::topLevelAt(const QPoint &pos)
Возвращает окно верхнего уровня в заданной позиции pos, если оно есть.
[static] QWindowList QGuiApplication::topLevelWindows()
Возвращает список окон верхнего уровня в приложении.
См. также allWindows().
Документация макросов
qGuiApp
Глобальная ссылка, ссылающаяся на единственный объект приложения. Действительна только при использовании этого объекта как QGuiApplication.
См. также QCoreApplication::instance() и qApp.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qguiapplication.html