在Qt中,可以使用QSystemTrayIcon类来实现在程序运行时显示图标在托盘栏,并且通过右键点击图标来关闭程序。下面是一个简单的示例代码:
#include <QApplication>
#include <QSystemTrayIcon>
#include <QMenu>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建系统托盘图标
QSystemTrayIcon trayIcon(QIcon(":/path/to/icon.png"), &app);
// 创建右键菜单
QMenu *menu = new QMenu();
QAction *closeAction = menu->addAction("关闭程序");
// 将菜单设置给托盘图标
trayIcon.setContextMenu(menu);
// 连接关闭程序的槽函数
QObject::connect(closeAction, &QAction::triggered, &app, &QApplication::quit);
// 显示托盘图标
trayIcon.show();
return app.exec();
}
我们先创建一个QApplication对象,然后创建一个QSystemTrayIcon对象,再指定图标的路径。接着创建了一个QMenu对象,并在菜单中添加一个关闭程序的动作,然后将菜单设置给托盘图标,并连接了关闭程序的槽函数。最后调用show()方法显示托盘图标,并通过app.exec()进入事件循环。