Qt托盘消息通知(①托盘图标)

创建托盘图标工程的思路步骤

  1. 创建Qt项目:首先,您需要创建一个新的Qt Widgets应用程序项目。
  2. 添加必要的Qt模块:在项目文件(.pro)中添加对 QtWidgets 和 QtGui 模块的支持。
  3. 创建主窗口类:我们将创建一个主窗口类来处理托盘图标的创建和管理。
  4. 设置托盘图标:使用 QSystemTrayIcon 创建托盘图标,并设置图标、提示文本和上下文菜单。
  5. 显示托盘图标:在应用启动时显示托盘图标,并确保应用在最小化时不关闭。
  6. 响应鼠标事件:处理鼠标点击托盘图标的事件,例如显示上下文菜单或弹出提示。

完整代码示例

1. 创建 Qt 项目

使用 Qt Creator 创建一个新的 Qt Widgets 项目,命名为 TrayIconApp

2. 修改项目文件

TrayIconApp.pro 文件中添加必要的模块:

QT += core gui widgets

3. 创建主窗口类

main.cpp 和新的头文件和源文件中添加以下代码:

main.cpp

#include <QApplication>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QAction>
#include <QMessageBox>
class TrayApp : public QObject {
public:
TrayApp() {
// 创建托盘图标
trayIcon = new QSystemTrayIcon();
trayIcon->setIcon(QIcon(":/Image/QQ图标.png")); // 替换为您的图标路径
trayIcon->setToolTip("托盘图标示例");
// 创建菜单
QMenu *menu = new QMenu();
QAction *exitAction = menu->addAction("退出");
connect(exitAction, &QAction::triggered, qApp, &QApplication::quit);
trayIcon->setContextMenu(menu);
trayIcon->show();
// 连接托盘图标的点击事件
connect(trayIcon, &QSystemTrayIcon::activated, this, &TrayApp::iconActivated);
}
private slots:
void iconActivated(QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Trigger) {
QMessageBox::information(nullptr, "托盘图标", "托盘图标被点击了!");
}
}
private:
QSystemTrayIcon *trayIcon;
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
app.setQuitOnLastWindowClosed(false); // 最后一个窗口关闭时不退出
TrayApp trayApp; // 创建托盘应用的实例
return app.exec();
}

 

posted @   王廷胡_白嫖帝  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示