Spec-Zone.ru › Qt 5.9

Класс QGuiApplication

Класс QGuiApplication управляет потоком управления и основными настройками графического приложения. Подробнее...

Заголовок: #include <QGuiApplication>
qmake: QT += gui
С момента: Qt 5.0
Наследует: QCoreApplication
Наследуется от:

QApplication

  • Список всех членов, включая наследуемые

Свойства

  • имяПриложения : QString
  • имяФайлаРабочегоСтола : QString
  • направлениеРазметки : Qt::LayoutDirection
  • имяПлатформы : const QString
  • основнойЭкран : QScreen * const
  • завершатьПриЗакрытииПоследнегоОкна : bool
  • иконкаОкна : QIcon
  • 5 свойств унаследовано от QCoreApplication
  • 1 свойство унаследовано от QObject

Открытые функции

QGuiApplication(int &argc, char **argv)
virtual ~QGuiApplication()
qreal отношениеПикселейУстройства() const
bool сохраняетсяСессия() const
bool восстановленаСессия() const
QString идентификаторСессии() const
QString ключСессии() const

Переопределенные открытые функции

virtual bool уведомление(QObject *object, QEvent *event)
  • 3 открытых функции унаследованы от QCoreApplication
  • 32 открытых функции унаследованы от QObject

Сигналы

void изменилосьИмяПриложения()
void изменилосьСостояниеПриложения(Qt::ApplicationState state)
void запросНаЗаписьДанных(QSessionManager &manager)
void изменилсяОбъектФокуса(QObject *focusObject)
void изменилосьОкноФокуса(QWindow *focusWindow)
void измениласьБазаШрифтов()
void закрытоПоследнееОкно()
void изменилосьНаправлениеРазметки(Qt::LayoutDirection direction)
void измениласьПалитра(const QPalette &palette)
void изменилсяОсновнойЭкран(QScreen *screen)
void запросНаСохранениеСостояния(QSessionManager &manager)
void добавленоЭкран(QScreen *screen)
void удаленЭкран(QScreen *screen)
  • 1 сигнал унаследован от QCoreApplication
  • 2 сигнала унаследованы от QObject

Статические открытые члены

QWindowList всеОкна()
QString имяПриложения()
Qt::ApplicationState состояниеПриложения()
void изменитьКурсорПерекрытия(const QCursor &cursor)
QClipboard * буферОбмена()
QString имяФайлаРабочегоСтола()
bool осознающийНастройкиРабочегоСтола()
int exec()
QObject * объектФокуса()
QWindow * окноФокуса()
QFont шрифт()
QInputMethod * вводМетод()
bool включеноРезервноеУправлениеСеансом()
bool слеваНаправо()
bool справаНалево()
Qt::KeyboardModifiers модификаторыКлавиатуры()
Qt::LayoutDirection направлениеРазметки()
QWindow * модальноеОкно()
Qt::MouseButtons кнопкиМыши()
QCursor * курсорПерекрытия()
QPalette палитра()
QFunctionPointer функцияПлатформы(const QByteArray &function)
QString имяПлатформы()
QPlatformNativeInterface * платформенныйИнтерфейс()
QScreen * основнойЭкран()
Qt::KeyboardModifiers запросМодификаторовКлавиатуры()
bool завершениеПриЗакрытииПоследнегоОкна()
void восстановитьКурсорПерекрытия()
QList<QScreen *> экраны()
void установитьИмяПриложения(const QString &name)
void установитьИмяФайлаРабочегоСтола(const QString &name)
void установитьОсознающийНастройкиРабочегоСтола(bool on)
void установитьВключеноРезервноеУправлениеСеансом(bool enabled)
void установитьШрифт(const QFont &font)
void установитьНаправлениеРазметки(Qt::LayoutDirection direction)
void установитьКурсорПерекрытия(const QCursor &cursor)
void установитьПалитру(const QPalette &pal)
void установитьЗавершениеПриЗакрытииПоследнегоОкна(bool quit)
void установитьЗначокОкна(const QIcon &icon)
QStyleHints * стилевыеПодсказки()
void синхронизировать()
QWindow * главноеПоПозиции(const QPoint &pos)
QWindowList главныеОкна()
QIcon значокОкна()
  • 38 статичных публичных членов унаследованных от QCoreApplication
  • 11 статичных публичных членов унаследованных от QObject

Переопределённые защищённые функции

virtual bool обработкаСобытия(QEvent *e)
  • 1 защищённая функция унаследованная от QCoreApplication
  • 9 защищённых функций унаследованных от QObject

Макросы

qGuiApp

Дополнительные унаследованные члены

  • 1 публичный слот унаследованный от QCoreApplication
  • 1 публичный слот унаследованный от QObject
  • 1 защищённая функция унаследованная от QCoreApplication
  • 9 защищённых функций унаследованных от 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 для записей на рабочем столе.

Это свойство предоставляет точное указание на то, какая запись на рабочем столе представляет приложение, и оно необходимо системе окон для получения такой информации без использования приблизительных методов.

Последнюю версию спецификации freedesktop для записей на рабочем столе можно получить здесь.

Это свойство было добавлено в 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 — пример плагина.
  • offscreen
  • openwfd
  • qnx
  • windows
  • 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 с системой окон. Некоторые параметры также доступны через переменные окружения, которые предпочтительны, если приложение может запускать подпроцессы GUI или другие приложения (переменные окружения будут унаследованы дочерними процессами). В случае сомнений используйте переменные окружения.

В настоящее время поддерживаются следующие параметры:

  • -platform platformName[:options], указывает плагин Qt Platform Abstraction (QPA).

    Переопределяется переменной окружения QT_QPA_PLATFORM.

  • -platformpluginpath path, указывает путь к плагинам платформы.

    Переопределяется переменной окружения QT_QPA_PLATFORM_PLUGIN_PATH.

  • -platformtheme platformTheme, указывает тему платформы.

    Переопределяется переменной окружения QT_QPA_PLATFORMTHEME.

  • -plugin plugin, указывает дополнительные плагины для загрузки. Аргумент может встречаться несколько раз.

    Переопределяется переменной окружения QT_QPA_GENERIC_PLUGINS.

  • -qmljsdebugger=, активирует отладчик QML/JS с указанным портом. Значение должно иметь формат port:1234[,block], где block необязательно и заставит приложение ждать подключения отладчика.
  • -qwindowgeometry geometry, задаёт геометрию окна главного окна с использованием синтаксиса X11. Например: -qwindowgeometry 100x100+50+50
  • -qwindowicon, устанавливает значок по умолчанию для окна
  • -qwindowtitle, устанавливает заголовок первого окна
  • -reverse, устанавливает направление макета приложения на Qt::RightToLeft. Этот параметр предназначен для отладки и не должен использоваться в рабочей версии. Значение по умолчанию определяется автоматически из региональных настроек пользователя (см. также QLocale::textDirection()).
  • -session session, восстанавливает приложение из предыдущей сессии.

Доступны следующие стандартные параметры командной строки для X11:

  • -display hostname:screen_number, переключает дисплеи в X11.

    Переопределяет переменную окружения DISPLAY.

  • -geometry geometry, то же, что и -qwindowgeometry.

Параметры, специфичные для платформы

Вы можете указать параметры, специфичные для платформы, для параметра -platform. Разместите их после имени плагина платформы, используя двоеточие, как список, разделенный запятыми. Например, -platform windows:dialogs=xp,fontengine=freetype.

Доступны следующие параметры для -platform windows:

  • dialogs=[xp|none], xp использует диалоги XP-стиля и none отключает их.
  • 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().

[virtual protected] bool QGuiApplication::event(QEvent *e)

Переопределено из QObject::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::fontDatabaseChanged()

Этот сигнал генерируется при загрузке или удалении шрифтов приложения.

См. также QFontDatabase::addApplicationFont(), QFontDatabase::addApplicationFontFromData(), QFontDatabase::removeAllApplicationFonts(), и QFontDatabase::removeApplicationFont().

[static] QInputMethod *QGuiApplication::inputMethod()

возвращает метод ввода.

Метод ввода возвращает свойства о состоянии и позиции виртуальной клавиатуры. Он также предоставляет информацию о позиции текущего фокусированного элемента ввода.

См. также QInputMethod.

[static] bool QGuiApplication::isFallbackSessionManagementEnabled()

Возвращает, будет ли 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().

[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().

[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 с состоянием системы окон.

Эта функция сначала очистит очереди событий Qt, вызвав QCoreApplication::processEvents(), затем плагин платформы синхронизируется с системой окон, и, наконец, события Qt будут доставлены с помощью другого вызова 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/qt-5.9/qguiapplication.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API