QSystemTrayIcon Class

QSystemTrayIcon 클래스는 시스템 트레이에 있는 애플리케이션의 아이콘을 제공합니다. 더 보기...

헤더: #include <QSystemTrayIcon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QObject

공용 유형

enum ActivationReason { Unknown, Context, DoubleClick, Trigger, MiddleClick }
enum MessageIcon { NoIcon, Information, Warning, Critical }

속성

공용 기능

QSystemTrayIcon(QObject *parent = nullptr)
QSystemTrayIcon(const QIcon &icon, QObject *parent = nullptr)
virtual ~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

공용 슬롯

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)

신호

void activated(QSystemTrayIcon::ActivationReason reason)
void messageClicked()

정적 공용 멤버

재구현된 보호 함수

virtual bool event(QEvent *e) override

상세 설명

최신 운영 체제는 일반적으로 바탕 화면에 시스템 트레이 또는 알림 영역이라는 특수 영역을 제공하여 장기 실행 응용 프로그램이 아이콘과 짧은 메시지를 표시할 수 있습니다.

The system tray on Windows 10.

QSystemTrayIcon 클래스는 다음 플랫폼에서 사용할 수 있습니다:

사용자의 데스크톱에 시스템 트레이가 있는지 확인하려면 QSystemTrayIcon::isSystemTrayAvailable() 정적 함수를 호출하세요.

시스템 트레이 항목을 추가하려면 QSystemTrayIcon 개체를 만들고 setContextMenu()를 호출하여 아이콘에 대한 컨텍스트 메뉴를 제공한 다음 show()를 호출하여 시스템 트레이에 표시되도록 합니다. 상태 알림 메시지("풍선 메시지")는 showMessage()를 사용하여 언제든지 표시할 수 있습니다.

시스템 트레이 아이콘이 생성될 때 시스템 트레이를 사용할 수 없지만 나중에 사용할 수 있게 되면 아이콘이 visible 인 경우 QSystemTrayIcon이 자동으로 시스템 트레이에 애플리케이션에 대한 항목을 추가합니다.

사용자가 아이콘을 활성화하면 activated() 신호가 방출됩니다.

X11에서만 도구 설명이 요청될 때 QSystemTrayIcon은 QEvent::ToolTip 유형의 QHelpEvent 을 수신합니다. 또한 QSystemTrayIcon은 QEvent::Wheel 유형의 휠 이벤트를 수신합니다. 이는 다른 플랫폼에서는 지원되지 않습니다. 참고: GNOME 셸 버전 3.26부터 셸 확장이 설치되지 않은 시스템에서는 모든 QSystemTrayIcon::ActivationReason 이 지원되지 않습니다.

QDesktopServices, 데스크톱 통합시스템 트레이 아이콘 예제를참조하세요 .

멤버 유형 문서

enum QSystemTrayIcon::ActivationReason

이 열거형은 시스템 트레이가 활성화된 이유를 설명합니다.

Constant설명
QSystemTrayIcon::Unknown0알 수 없는 이유
QSystemTrayIcon::Context1시스템 트레이 항목에 대한 컨텍스트 메뉴가 요청되었습니다.
QSystemTrayIcon::DoubleClick2시스템 트레이 항목을 두 번 클릭했습니다.

참고: macOS에서는 마우스를 누르면 메뉴가 열리므로 컨텍스트 메뉴가 설정되어 있지 않은 경우에만 더블 클릭이 발생합니다.

상수설명
QSystemTrayIcon::Trigger3시스템 트레이 항목을 클릭했습니다.
QSystemTrayIcon::MiddleClick4시스템 트레이 항목을 마우스 가운데 버튼으로 클릭했습니다.

activated()도 참조하세요 .

enum QSystemTrayIcon::MessageIcon

이 열거형은 풍선 메시지가 표시될 때 표시되는 아이콘을 설명합니다.

상수설명
QSystemTrayIcon::NoIcon0아이콘이 표시되지 않습니다.
QSystemTrayIcon::Information1정보 아이콘이 표시됩니다.
QSystemTrayIcon::Warning2표준 경고 아이콘이 표시됩니다.
QSystemTrayIcon::Critical3심각한 경고 아이콘이 표시됩니다.

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)

주어진 parent 로 QSystemTrayIcon 객체를 생성합니다.

아이콘은 처음에 보이지 않습니다.

visible도 참조하십시오 .

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

주어진 iconparent 을 사용하여 QSystemTrayIcon 객체를 생성합니다.

아이콘은 처음에는 보이지 않습니다.

visible도 참조하십시오 .

[virtual noexcept] 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(QEvent *e).

QRect QSystemTrayIcon::geometry() const

시스템 트레이 아이콘의 기하학적 형상을 화면 좌표로 반환합니다.

visible참조하세요 .

[slot] void QSystemTrayIcon::hide()

시스템 트레이 항목을 숨깁니다.

show() 및 visible도 참조하세요 .

[static] bool QSystemTrayIcon::isSystemTrayAvailable()

시스템 트레이를 사용할 수 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

시스템 트레이를 현재 사용할 수 없지만 나중에 사용할 수 있게 되면 QSystemTrayIconvisible 인 경우 시스템 트레이에 자동으로 항목을 추가합니다.

[signal] void QSystemTrayIcon::messageClicked()

이 신호는 사용자가 showMessage()를 사용하여 표시된 메시지를 클릭했을 때 발생합니다.

참고: Microsoft Windows 동작을 따르므로 사용자가 풍선 메시지가 표시된 트레이 아이콘을 클릭할 때도 이 신호가 전송됩니다.

activated()도 참조하세요 .

void QSystemTrayIcon::setContextMenu(QMenu *menu)

지정된 menu 을 시스템 트레이 아이콘의 컨텍스트 메뉴로 설정합니다.

사용자가 마우스 버튼을 클릭하여 시스템 트레이 아이콘의 컨텍스트 메뉴를 요청하면 메뉴가 팝업됩니다.

참고: 시스템 트레이 아이콘은 메뉴에 대한 소유권을 갖지 않습니다. 적절한 상위 개체를 사용하여 메뉴를 생성하는 등 적절한 시점에 삭제되도록 해야 합니다.

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)

millisecondsTimeoutHint 에 지정된 시간 동안 지정된 title, messageicon 으로 항목에 대한 풍선 메시지를 표시합니다. titlemessage 는 일반 텍스트 문자열이어야 합니다.

사용자가 메시지를 클릭할 수 있으며, 이 경우 messageClicked() 신호가 발생합니다.

메시지 표시는 시스템 구성 및 사용자 기본 설정에 따라 달라질 수 있으며 메시지가 전혀 표시되지 않을 수도 있습니다. 따라서 중요한 정보를 제공하는 유일한 수단으로 의존해서는 안 됩니다.

Windows에서 애플리케이션에 포커스가 있는 경우 일반적으로 millisecondsTimeoutHint 메시지는 시스템에서 무시됩니다.

Qt 5.2에서 슬롯으로 바뀌었습니다.

show() 및 supportsMessages()도 참조하세요 .

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

이 함수는 showMessage()를 오버로드합니다.

millisecondsTimeoutHint 에 지정된 시간 동안 지정된 title, message, 사용자 정의 아이콘 icon 과 함께 항목에 대한 풍선 메시지를 표시합니다.

[static] bool QSystemTrayIcon::supportsMessages()

시스템 트레이가 풍선 메시지를 지원하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

showMessage()도 참조하세요 .

© 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.