Spec-Zone.ru › Qt 5.6

Класс QGuiApplication

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

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

QApplication

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

Свойства

  • applicationDisplayName : QString
  • layoutDirection : Qt::LayoutDirection
  • platformName : const QString
  • primaryScreen : QScreen * const
  • quitOnLastWindowClosed : bool
  • windowIcon : QIcon
  • 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)
  • 3 открытых функции унаследованы от QCoreApplication
  • 31 открытых функция унаследованы от QObject

Сигналы

void applicationStateChanged(Qt::ApplicationState state)
void commitDataRequest(QSessionManager &manager)
void focusObjectChanged(QObject *focusObject)
void focusWindowChanged(QWindow *focusWindow)
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

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

QWindowList всеОкна()
QString имяПриложения()
Qt::ApplicationState состояниеПриложения()
void изменитьКурсор(const QCursor &cursor)
QClipboard * буферОбмена()
bool согласованСНастройкамиРабочегоСтола()
int exec()
QObject * объектФокуса()
QWindow * окноФокуса()
QFont шрифт()
QInputMethod * методВвода()
bool использоватьДефолтнуюУправлениеСеансом()
bool слеваНаправо()
bool справаНалево()
Qt::KeyboardModifiers модификаторыКлавиатуры()
Qt::LayoutDirection направлениеРазметки()
QWindow * модальноеОкно()
Qt::MouseButtons кнопкиМыши()
QCursor * переопределенныйКурсор()
QPalette палитрa()
QFunctionPointer функцияПлатформы(const QByteArray &function)
QString имяПлатформы()
QPlatformNativeInterface * платформенноеНативноеИнтерфейс()
QScreen * главныйЭкран()
Qt::KeyboardModifiers запросМодификаторовКлавиатуры()
bool завершитьПриЗакрытииПоследнегоОкна()
void восстановитьКурсор()
QList<QScreen *> экраны()
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 иконкаОкна()
  • 39 статические публичные члены унаследованные от QCoreApplication
  • 11 статические публичные члены унаследованные от QObject

Реализованные защищённые функции

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

Макросы

qGuiApp

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

  • 1 публичный слот унаследованный от QCoreApplication
  • 1 публичный слот унаследованный от QObject
  • 1 защищённая функция унаследованная от QCoreApplication
  • 9 защищённые функции унаследованные от QObject

Подробное описание

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

QGuiApplication содержит основной цикл событий, где обрабатываются и передаются все события от системного окна и других источников. Он также обрабатывает инициализацию и завершение приложения, а также управление сеансом. Кроме того, QGuiApplication обрабатывает большинство системных и приложeний настроек.

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

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

Основные области ответственности QGuiApplication:

  • Он инициализирует приложение настройками рабочего стола пользователя, такими как палитру(), шрифт() и стилевые подсказки(). Он отслеживает эти свойства на случай, если пользователь изменит глобальные настройки рабочего стола, например, через какой-либо панель управления.
  • Он обрабатывает события, что означает, что он получает события от базовой системы окон и рассылает их соответствующим виджетам. Вы можете отправлять свои собственные события в окна, используя sendEvent() и postEvent().
  • Он анализирует общие аргументы командной строки и соответствующим образом устанавливает своё внутреннее состояние. Более подробные сведения см. в документации конструктора ниже.
  • Он обеспечивает локализация строк, видимых пользователю, через translate().
  • Он предоставляет некоторые магические объекты, такие как буфер обмена().
  • Он знает о окнах приложения. Вы можете узнать, какое окно находится в определённой позиции, используя topLevelAt(), получить список верхнеуровневых окон и т. д.
  • Он управляет обработкой указателя мыши приложения, см. setOverrideCursor()
  • Он поддерживает продвинутое управление сессиями. Это позволяет приложениям корректно завершаться при выходе пользователя из системы, отменять процесс завершения, если завершение невозможно, и даже сохранять всё состояние приложения для будущей сессии. Для получения подробной информации см. isSessionRestored(), sessionId() и commitDataRequest() и saveStateRequest().

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

Группы функций
Настройки системы desktopSettingsAware(), setDesktopSettingsAware(), styleHints(), палитры(), setPalette(), шрифт(), setFont().
Обработка событий exec(), processEvents(), exit(), quit(). sendEvent(), postEvent(), sendPostedEvents(), removePostedEvents(), hasPendingEvents(), notify().
Окна allWindows(), topLevelWindows(), focusWindow(), буфер обмена(), 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)

См. также applicationName.

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
  • kms — экспериментальный плагин платформы, использующий технологию kernel modesetting и 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(), и Управление сессиями.

END_OF_DOCUMENT_MARKER

[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/archives/qt-5.6/qguiapplication.html

Spec-Zone.ru

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