Qt Quick - QML 实现系统托盘
在使用 Qt 开发应用程序时,经常会遇到需要将应用程序图标隐藏到系统托盘中的情况。本文将介绍如何使用 QML 实现系统托盘功能。
实现步骤如下:
- 引入 Qt.labs.platform 模块。
import Qt.labs.platform 1.0
- 定义 SystemTrayIcon 对象和添加菜单。
SystemTrayIcon {
id: systemTray
// 添加菜单
Menu {
id: sysTrayMenu
MenuItem {
text: "打开主界面"
onTriggered: {
mainWin.show(); // 显示主界面
}
}
MenuItem {
text: "退出程序"
onTriggered: {
Qt.quit(); // 退出程序
}
}
}
}
- 添加托盘图标。
onVisibleChanged: {
if (visible) {
systemTray.setIcon(":/images/icon.png");
systemTray.setContextMenu(sysTrayMenu);
}
}
- 处理窗口最小化事件。
onVisibleChanged: