Qml中使用SystemTrayIcon实现系统托盘小图标

SystemTrayIcon 可以在Qml中定义一个显示在系统托盘区域的小图标。

Qt5.8开始,官方提供了这一实验性的功能。

导入方式

1
import Qt.labs.platform 1.0

创建系统托盘图标

很多桌面系统都提供了一个托盘和消息通知区域,用来显示应用图标和消息。

下面的例子展示了如何创建一个 SystemTrayIcon,以及如何使用 activated() 信号来触发窗体事件。

1
2
3
4
5
6
7
8
9
10
SystemTrayIcon {
visible: true
iconSource: "qrc:/images/tray-icon.png"

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

使用菜单

SystemTrayIcon 可以用来创建一个触发的菜单。

下面的例子实现了一个系统托盘图标的菜单。

1
2
3
4
5
6
7
8
9
10
11
SystemTrayIcon {
visible: true
iconSource: "qrc:/images/tray-icon.png"

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

显示通知消息

SystemTrayIcon 也可以先用来显示通知消息。

下面的例子展示了如果用 showMessage() 来创建通知消息,和使用 messageClick() 信号来触发消息的点击事件。

1
2
3
4
5
6
7
SystemTrayIcon {
visible: true
iconSource: "qrc:/images/tray-icon.png"

onMessageClicked: console.log("Message clicked")
Component.onCompleted: showMessage("Message title", "Something important came up. Click this to know more.")
}
听说,赞赏了的人都变美了哦~
0%