SystemTrayIcon QML Type
시스템 트레이 아이콘입니다. 더 보기...
Import Statement: | import Qt.labs.platform |
Inherits: |
속성
- available : bool
- geometry : rect
(since Qt.labs.platform 1.1 (Qt 5.12))
- icon
(since Qt.labs.platform 1.1 (Qt 5.12))
- 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))
- icon.mask : bool
- menu : 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() } }
트레이 메뉴
시스템 트레이 아이콘은 아이콘이 활성화될 때 열리는 메뉴를 가질 수 있습니다.
다음 예는 시스템 트레이 아이콘에 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 입니다:
- freedesktop.org XEmbed 시스템 트레이 사양을 구현하는 X11용 모든 창 관리자 및 독립 트레이 구현.
- 최신 버전의 KDE 및 Unity를 포함하여 freedesktop.org D-Bus StatusNotifierItem 사양을 구현하는 모든 데스크톱 환경.
- 지원되는 모든 macOS 버전. OS X 10.8(Mountain Lion) 이전 버전에서 메시지를 표시하려면 showMessage()에 대한 Growl 알림 시스템이 설치되어 있어야 합니다.
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 |
이 속성은 시스템 트레이를 사용할 수 있는지 여부를 저장합니다.
geometry : rect |
이 속성은 시스템 트레이 아이콘의 지오메트리를 보유합니다.
이 프로퍼티는 Qt.labs.platform 1.1(Qt 5.12)에 도입되었습니다.
이 속성은 시스템 트레이 아이콘을 보유합니다.
SystemTrayIcon { icon.mask: true icon.source: "qrc:/images/tray-icon.png" }
이 QML 속성은 Qt.labs.platform 1.1 (Qt 5.12)에 도입되었습니다.
menu : Menu |
이 속성은 시스템 트레이 아이콘의 메뉴를 보유합니다.
supportsMessages : bool |
이 속성은 시스템 트레이 아이콘이 알림 메시지를 지원하는지 여부를 저장합니다.
showMessage()도 참조하세요 .
tooltip : string |
이 속성은 시스템 트레이 아이콘의 툴팁을 보유합니다.
visible : bool |
이 속성은 시스템 트레이 아이콘이 표시되는지 여부를 저장합니다.
기본값은 false
입니다.
신호 문서
activated(ActivationReason reason) |
이 신호는 사용자가 시스템 트레이 아이콘을 활성화할 때 발생합니다. reason 인수는 시스템 트레이 아이콘이 활성화된 방법을 지정합니다.
사용 가능한 이유는 다음과 같습니다:
상수 | 설명 |
---|---|
SystemTrayIcon.Unknown | 알 수 없는 이유 |
SystemTrayIcon.Context | 시스템 트레이 아이콘에 대한 컨텍스트 메뉴가 요청되었습니다. |
SystemTrayIcon.DoubleClick | 시스템 트레이 아이콘을 두 번 클릭했습니다. |
SystemTrayIcon.Trigger | 시스템 트레이 아이콘을 클릭했습니다. |
SystemTrayIcon.MiddleClick | 시스템 트레이 아이콘을 마우스 가운데 버튼으로 클릭했습니다. |
참고: 해당 핸들러는 onActivated
입니다.
messageClicked() |
메서드 문서
void hide() |
시스템 트레이 아이콘을 숨깁니다.
void show() |
시스템 트레이 아이콘을 표시합니다.
msecs 에 지정된 시간 동안 지정된 title, message 및 icon 과 함께 시스템 트레이 메시지를 표시합니다.
참고: 시스템 트레이 메시지는 시스템 구성 및 사용자 기본 설정에 따라 달라지며 전혀 표시되지 않을 수도 있습니다. 따라서 중요한 정보를 제공하는 유일한 수단으로 이 메시지에 의존해서는 안 됩니다.
supportsMessages 및 messageClicked()도 참조하세요 .
© 2025 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.