이 페이지에서

SystemTrayIcon QML Type

시스템 트레이 아이콘. 더 보기...

Import Statement: import Qt.labs.platform
Inherits:

QtObject

속성

신호

방법

  • 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은 아이콘이 활성화될 때 열리는 메뉴를 가질 수 있습니다.

메뉴가 있는 시스템 트레이 아이콘

다음 예제는 시스템 트레이 아이콘에 Menu 을 할당하는 방법을 보여줍니다:

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.")
}

사용 가능 여부

현재 네이티브 시스템 트레이 아이콘은 다음 플랫폼에서 available 로 지원됩니다:

Qt Labs Platform 모듈은 네이티브 구현을 사용할 수 없는 플랫폼에서 Qt Widgets 를 대체 수단으로 사용합니다. 따라서 Qt Labs Platform 모듈의 타입을 사용하는 애플리케이션은 QtWidgets 에 링크하고, QGuiApplication 대신 QApplication 를 사용해야 합니다.

QtWidgets 라이브러리에 링크하려면 qmake 프로젝트 파일에 다음을 추가하십시오:

QT += widgets

main() 에서 QApplication 의 인스턴스를 생성하십시오:

#include <QApplication>
#include <QQmlApplicationEngine>

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

참고: Qt.labs 모듈의 타입은 향후 버전에서 호환성이 보장되지 않습니다.

Menu도 참조하십시오 .

속성 문서

available : bool [read-only]

이 속성은 시스템 트레이가 사용 가능한지 여부와 관계없이 적용됩니다.

geometry : rect [since Qt.labs.platform 1.1 (Qt 5.12)]

이 속성은 시스템 트레이 아이콘의 지오메트리를 저장합니다.

이 속성은 Qt Labs Platform 1.1(Qt 5.12)에서 도입되었습니다.

icon group

icon.mask : bool [since Qt.labs.platform 1.1 (Qt 5.12)]

icon.name : string [since Qt.labs.platform 1.1 (Qt 5.12)]

icon.source : url [since Qt.labs.platform 1.1 (Qt 5.12)]

이 속성은 시스템 트레이 아이콘을 저장합니다.

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

이 속성들은 Qt Labs Platform 1.1(Qt 5.12)에서 도입되었습니다.

이 속성은 시스템 트레이 아이콘의 메뉴를 관리합니다.

supportsMessages : bool [read-only]

이 속성은 시스템 트레이 아이콘이 알림 메시지를 지원하는지 여부를 나타냅니다.

showMessage()도 참조하십시오 .

tooltip : string

이 속성은 시스템 트레이 아이콘의 툴팁을 저장합니다.

visible : bool

이 속성은 시스템 트레이 아이콘이 표시되는지 여부를 결정합니다.

기본값은 false 입니다.

Signal 문서

activated(ActivationReason reason)

이 신호는 사용자가 시스템 트레이 아이콘을 활성화했을 때 발생합니다. ‘ reason ’ 인수는 시스템 트레이 아이콘이 어떻게 활성화되었는지를 지정합니다.

사용 가능한 이유:

상수설명
SystemTrayIcon.Unknown알 수 없는 이유
SystemTrayIcon.Context시스템 트레이 아이콘의 컨텍스트 메뉴가 요청됨
SystemTrayIcon.DoubleClick시스템 트레이 아이콘을 두 번 클릭했습니다
SystemTrayIcon.Trigger시스템 트레이 아이콘을 클릭했습니다.
SystemTrayIcon.MiddleClick시스템 트레이 아이콘을 마우스 중간 버튼으로 클릭했습니다

참고: 해당 핸들러는 onActivated 입니다.

messageClicked()

이 신호는 사용자가 알림 메시지를 클릭했을 때 발생합니다.

참고: 해당 핸들러는 onMessageClicked 입니다.

showMessage()도 참조하십시오 .

메서드 문서

void hide()

시스템 트레이 아이콘을 숨깁니다.

void show()

시스템 트레이 아이콘을 표시합니다.

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

msecs 에 지정된 시간 동안, title, message 및 icon 을 포함하는 시스템 트레이 메시지를 표시합니다.

참고: 시스템 트레이 메시지는 시스템 구성 및 사용자 설정에 따라 달라지며, 전혀 표시되지 않을 수도 있습니다. 따라서 중요한 정보를 전달하는 유일한 수단으로 의존해서는 안 됩니다.

supportsMessages 및 messageClicked()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.