Spec-Zone.ru › Qt 5.11

Класс QSystemTrayIcon

Класс QSystemTrayIcon предоставляет значок приложения в системном трее. Подробнее...

Заголовок: #include <QSystemTrayIcon>
qmake: QT += widgets
С момента: Qt 4.2
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление ActivationReason { Unknown, Context, DoubleClick, Trigger, MiddleClick }
перечисление MessageIcon { NoIcon, Information, Warning, Critical }

Свойства

  • icon : QIcon
  • toolTip : QString
  • visible : bool
  • 1 свойство унаследовано от QObject

Функции публичного доступа

QSystemTrayIcon(QObject *parent = nullptr)
QSystemTrayIcon(const QIcon &icon, QObject *parent = nullptr)
виртуальный ~QSystemTrayIcon()
QMenu * contextMenu() const
QRect geometry() const
QIcon icon() const
bool isVisible() const
void setContextMenu(QMenu *menu)
void setIcon(const QIcon &icon)
void setToolTip(const QString &tip)
QString toolTip() const
  • 34 функции публичного доступа унаследованы от QObject

Свойства публичного доступа

void hide()
void setVisible(bool visible)
void show()
void showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000)
void showMessage(const QString &title, const QString &message, const QIcon &icon, int millisecondsTimeoutHint = 10000)
  • 1 свойство публичного доступа унаследовано от QObject

Сигналы

void activated(QSystemTrayIcon::ActivationReason reason)
void messageClicked()
  • 2 сигнала унаследованы от QObject

Статические публичные члены

bool isSystemTrayAvailable()
bool supportsMessages()
  • 10 статических публичных членов унаследованы от QObject

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

виртуальный bool event(QEvent *e) override
  • 9 защищённых функций унаследованы от QObject

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

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

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

Класс QSystemTrayIcon предоставляет значок приложения в системном трее.

Современные операционные системы обычно предоставляют специальную область на рабочем столе, называемую системным треем или областью уведомлений, где долго работающие приложения могут отображать значки и короткие сообщения.

The system tray on Windows XP.

Класс QSystemTrayIcon может быть использован на следующих платформах:

  • Все поддерживаемые версии Windows.
  • Все менеджеры окон и независимые реализации трея для X11, которые реализуют спецификацию системного трея XEmbed http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.2.html freedesktop.org.
  • Все среды рабочего стола X11, которые реализуют спецификацию D-Bus http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem, включая последние версии KDE и Unity.
  • Все поддерживаемые версии macOS.

Чтобы проверить, присутствует ли системный трей на рабочем столе пользователя, вызовите статическую функцию QSystemTrayIcon::isSystemTrayAvailable().

Чтобы добавить запись в системный трей, создайте объект QSystemTrayIcon, вызовите setContextMenu() для предоставления контекстного меню для значка и вызовите show() для отображения его в системном трее. Сообщения о состоянии уведомлений ("балонные сообщения") можно отображать в любое время с помощью showMessage().

Если системный трей недоступен при создании значка системного трея, но становится доступным позже, QSystemTrayIcon автоматически добавит запись для приложения в системный трей, если значок visible.

Сигнал activated() генерируется, когда пользователь активирует значок.

Только в X11, когда запрашивается подсказка, QSystemTrayIcon получает QHelpEvent типа QEvent::ToolTip. Кроме того, QSystemTrayIcon получает события колесика мыши типа QEvent::Wheel. Они не поддерживаются ни на какой другой платформе.

См. также QDesktopServices, QDesktopWidget, Интеграция с рабочим столом и Пример значка системного трея.

Документация по типам членов

перечисление QSystemTrayIcon::ActivationReason

Это перечисление описывает причину активации системного трея.

Постоянная Значение Описание
QSystemTrayIcon::Unknown 0 Неизвестная причина
QSystemTrayIcon::Context 1 Было запрошено контекстное меню для записи в системном трее
QSystemTrayIcon::DoubleClick 2 Запись в системном трее была дважды щелкнута.

Примечание: В macOS двойной щелчок будет генерироваться только в том случае, если контекстное меню не задано, так как меню открывается при нажатии мыши

Константа Значение Описание
QSystemTrayIcon::Trigger 3 Иконка системного трея была щелкнута
QSystemTrayIcon::MiddleClick 4 Иконка системного трея была щелкнута средней кнопкой мыши

См. также activated().

enum QSystemTrayIcon::MessageIcon

Этот перечисление описывает иконку, отображаемую при отображении всплывающего сообщения.

Константа Значение Описание
QSystemTrayIcon::NoIcon 0 Иконка не отображается.
QSystemTrayIcon::Information 1 Отображается иконка информации.
QSystemTrayIcon::Warning 2 Отображается стандартная иконка предупреждения.
QSystemTrayIcon::Critical 3 Отображается критическая иконка предупреждения.

См. также QMessageBox.

Документация свойств

icon : QIcon

Это свойство содержит иконку системного трея

В Windows размер иконки системного трея составляет 16x16; в X11 предпочтительный размер составляет 22x22. Иконка будет масштабирована до соответствующего размера по мере необходимости.

Функции доступа:

QIcon icon() const
void setIcon(const QIcon &icon)

toolTip : QString

Это свойство содержит всплывающую подсказку для записи в системном трее

В некоторых системах длина всплывающей подсказки ограничена. Всплывающая подсказка будет усечена при необходимости.

Функции доступа:

QString toolTip() const
void setToolTip(const QString &tip)

visible : bool

Это свойство указывает, отображается ли запись в системном трее

Установка этого свойства в true или вызов show() отображает значок системного трея; установка этого свойства в false или вызов hide() скрывает его.

Функции доступа:

bool isVisible() const
void setVisible(bool visible)

Документация по членам-функциям

QSystemTrayIcon::QSystemTrayIcon(QObject *parent = nullptr)

Создаёт объект QSystemTrayIcon с заданным parent.

Иконка изначально невидима.

См. также visible.

QSystemTrayIcon::QSystemTrayIcon(const QIcon &icon, QObject *parent = nullptr)

Создаёт объект QSystemTrayIcon с заданной icon и parent.

Иконка изначально невидима.

См. также visible.

[virtual] QSystemTrayIcon::~QSystemTrayIcon()

Удаляет иконку из системного трея и освобождает все выделенные ресурсы.

[signal] void QSystemTrayIcon::activated(QSystemTrayIcon::ActivationReason reason)

Этот сигнал излучается, когда пользователь активирует иконку системного трея. reason указывает причину активации. QSystemTrayIcon::ActivationReason перечисляет различные причины.

См. также QSystemTrayIcon::ActivationReason.

QMenu *QSystemTrayIcon::contextMenu() const

Возвращает текущее контекстное меню для записи в системном трее.

См. также setContextMenu().

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

Переопределено из QObject::event().

QRect QSystemTrayIcon::geometry() const

Возвращает геометрию иконки системного трея в координатах экрана.

Эта функция была добавлена в Qt 4.3.

См. также visible.

[slot] void QSystemTrayIcon::hide()

Скрывает запись в системном трее.

См. также show() и visible.

[static] bool QSystemTrayIcon::isSystemTrayAvailable()

Возвращает true если системный трей доступен; в противном случае возвращает false.

Если системный трей в данный момент недоступен, но становится доступным позже, QSystemTrayIcon автоматически добавит запись в системный трей, если она visible.

[signal] void QSystemTrayIcon::messageClicked()

Этот сигнал излучается, когда пользователь щелкнул сообщение, отображенное с помощью showMessage().

В настоящее время этот сигнал не отправляется в macOS.

Примечание: Мы следуем поведению Microsoft Windows, поэтому сигнал также излучается, когда пользователь щелкает по значку трея с отображаемым сообщением всплывающего окна.

См. также activated().

void QSystemTrayIcon::setContextMenu(QMenu *menu)

Устанавливает указанное menu в качестве контекстного меню для значка системного трея.

Меню будет отображаться при запросе пользователем контекстного меню для значка системного трея щелчком мыши.

В macOS в настоящее время это преобразуется в NSMenu, поэтому сигнал aboutToHide() не излучается.

Примечание: значок системного трея не берет на себя владение меню. Вы должны убедиться, что оно удалено в соответствующее время, например, создавая меню с подходящим объектом родителя.

См. также contextMenu().

[slot] void QSystemTrayIcon::show()

Отображает значок в системном трее.

См. также hide() и visible.

[slot] void QSystemTrayIcon::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000)

Отображает всплывающее сообщение для записи со заданным title, message и icon на время, указанное в millisecondsTimeoutHint. title и message должны быть текстовыми строками.

Сообщение может быть щелкнуто пользователем; при этом излучается сигнал messageClicked().

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

В Windows параметр millisecondsTimeoutHint обычно игнорируется системой, когда приложение имеет фокус.

В Qt 5.2 превращено в слот.

Эта функция была добавлена в Qt 4.3.

См. также show() и supportsMessages().

[slot] void QSystemTrayIcon::showMessage(const QString &title, const QString &message, const QIcon &icon, int millisecondsTimeoutHint = 10000)

Эта функция перегружает showMessage().

Отображает всплывающее сообщение для записи со заданным title, message и настраиваемой icon на время, указанное в millisecondsTimeoutHint.

Эта функция была добавлена в Qt 5.9.

[static] bool QSystemTrayIcon::supportsMessages()

Возвращает true если системный трей поддерживает всплывающие сообщения; в противном случае возвращает false.

См. также showMessage().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qsystemtrayicon.html

Spec-Zone.ru

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