Qt系统托盘程序的创建
一般来说,我们的应用程序都是控制台程序,或者窗口程序,点击应用程序右上角的关闭按钮,就会将程序关闭。但是有些应用,例如微信、或者杀毒软件等等,点击关闭按钮后,只是将程序最小化到右下角的菜单栏而已,并没有关闭程序。而要彻底关闭程序,需要点击右下角对应程序的右键菜单,进行退出。
那么,这种托盘程序,在QT是怎么实现的呢?
Qt中,通过类QSystemTrayIcon,实现系统托盘,右键菜单的实现,通过QMenu和QAction实现。
直接上代码

sysTrayIconWidget.h
#ifndef SYSTRAYICONWIDGET_H
#define SYSTRAYICONWIDGET_H
#include <QWidget>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QAction>
#include <QCloseEvent>
QT_BEGIN_NAMESPACE
namespace Ui {
class SysTrayIconWidget; }
QT_END_NAMESPACE
class SysTrayIconWidget : public QWidget
{
Q_OBJECT
public:
SysTrayIconWidget(QWidget *parent = nullptr);
~SysTrayIconWidget() override;
private:
Ui::SysTrayIconWidget *ui;
QSystemTrayIcon *m_sysTrayIcon; //系统托盘
void initSysTrayIcon();
QMenu *m_menu; //菜单
QAction *m_showMainAction; //动作
QAction *m_exitAppAction; //动作
void createActions();
void createMenu();
private slots:
void on_s

这篇博客介绍了如何在Qt中实现系统托盘程序,类似微信和杀毒软件那样,点击关闭仅最小化到托盘。通过QSystemTrayIcon、QMenu和QAction,可以创建托盘图标、右键菜单及相应操作。当点击关闭按钮时,程序不会退出,而是隐藏窗口。双击托盘图标或选择菜单中的显示主界面选项可以重新显示程序。退出程序则需要通过右键菜单的退出选项。
最低0.47元/天 解锁文章
2394

被折叠的 条评论
为什么被折叠?



