Spec-Zone.ru › Qt 5.12

Тип SystemTrayIcon QML

Иконка системного трея. Подробнее...

Оператор импорта: import Qt.labs.platform 1.1
С: Qt 5.8
Наследует:

QtObject

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

Свойства

  • available : bool
  • geometry : rect
  • icon
    • icon.source : url
    • icon.name : string
    • icon.mask : bool
  • menu : Меню
  • supportsMessages : bool
  • tooltip : string
  • visible : bool

Сигналы

  • activated(ActivationReason reason)
  • messageClicked()

Методы

  • void hide()
  • void show()
  • void showMessage(string title, string message, MessageIcon icon, int msecs)

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

Тип SystemTrayIcon предоставляет иконку приложения в системном трее.

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

Следующий пример демонстрирует создание значка системного трея и использование сигнала activated():

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    onActivated: {
        window.show()
        window.raise()
        window.requestActivate()
    }
}

Меню трея

SystemTrayIcon может иметь меню, которое открывается при активации значка.

Следующий пример иллюстрирует, как назначить Меню значку системного трея:

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    menu: Menu {
        MenuItem {
            text: qsTr("Quit")
            onTriggered: Qt.quit()
        }
    }
}

Сообщения о уведомлениях

SystemTrayIcon может отображать сообщения о уведомлениях.

Следующий пример демонстрирует отображение сообщения о уведомлении с помощью showMessage() и использование сигнала messageClicked():

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    onMessageClicked: console.log("Message clicked")
    Component.onCompleted: showMessage("Message title", "Something important came up. Click this to know more.")
}

Доступность

Родная иконка системного трея в настоящее время доступна на следующих платформах:

  • Все менеджеры окон и независимые реализации треев для X11, которые реализуют спецификацию системного трея XEmbed freedesktop.org.
  • Все среды рабочего стола, которые реализуют спецификацию D-Bus StatusNotifierItem freedesktop.org, включая последние версии KDE и Unity.
  • Все поддерживаемые версии macOS. Обратите внимание, что система уведомлений Growl должна быть установлена для showMessage(), чтобы отображать сообщения на OS X до версии 10.8 (Mountain Lion).

Модуль Qt Labs Platform использует Qt Widgets в качестве резервного варианта на платформах, на которых нет доступной родной реализации. Поэтому приложения, использующие типы из модуля Qt Labs Platform, должны ссылаться на QtWidgets и использовать QApplication вместо QGuiApplication.

Для ссылки на библиотеку QtWidgets добавьте следующее в файл проекта qmake:

QT += widgets

Создайте экземпляр QApplication в main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Примечание: Типы в модулях Qt.labs не гарантируют совместимость в будущих версиях.

См. также Меню.

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

[только для чтения] available : bool

Это свойство указывает, доступен ли системный трей.

geometry : rect

Это свойство содержит геометрию значка системного трея.

Это свойство было добавлено в Qt.labs.platform 1.1 (Qt 5.12).

icon.source : url

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

SystemTrayIcon {
    icon.mask: true
    icon.source: "qrc:/images/tray-icon.png"
}

Эта группа свойств была добавлена в Qt.labs.platform 1.1 (Qt 5.12).

menu : Меню

Это свойство содержит меню для значка системного трея.

[только для чтения] supportsMessages : bool

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

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

tooltip : string

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

visible : bool

Это свойство указывает, виден ли значок системного трея.

Значение по умолчанию - false.

Документация по сигналам

activated(ActivationReason reason)

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

Доступные причины:

Постоянная Описание
SystemTrayIcon.Unknown Неизвестная причина
SystemTrayIcon.Context Запрошено контекстное меню для значка системного трея
SystemTrayIcon.DoubleClick Значок системного трея был дважды щелкнут
SystemTrayIcon.Trigger Значок системного трея был щелкнут
SystemTrayIcon.MiddleClick Значок системного трея был щелкнут средней кнопкой мыши

messageClicked()

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

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

Документация по методам

void hide()

Скрывает значок системного трея.

void show()

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

void showMessage(string title, string message, MessageIcon icon, int msecs)

Отображает сообщение системного трея с заданным title, message и icon на указанное время msecs.

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

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qt-labs-platform-systemtrayicon.html

Spec-Zone.ru

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