Qt之系统托盘(QSystemTrayIcon详解)
托盘是什么?这个就不用在多说了!而Qt中如何实现自己的托盘功能,Qt自带的demo也很明了,这里我们就来实现自己的一个托盘。。。
void TrayMenu::createActions()
{
//创建托盘项
action_show = new QAction(this);
action_quit = new QAction(this);
action_login_home = new QAction(this);
action_help = new QAction(this);
action_about = new QAction(this);
action_check_update = new QAction(this);
action_setting = new QAction(this);
//设置托盘项图标
action_show->setIcon(QIcon(":/icon/open"));
action_login_home->setIcon(QIcon(":/icon/home"));
action_help->setIcon(QIcon(":/icon/help"));
action_about->setIcon(QIcon(":/icon/about"));
action_check_update->setIcon(QIcon(":/icon/update"));
action_setting->setIcon(QIcon(":/icon/set"));
action_quit->setIcon(QIcon(":/icon/quit"));
//设置托盘想文本
action_show->setText(QString("显示"));
action_quit->setText(QString("退出"));
action_login_home->setText(QString("登录网页"));
action_help->setText(QString("帮助"));
action_about->setText(QString("关于"));
action_check_update->setText(QString("检查更新"));
action_setting->setText(QString("设置"));
//添加菜单项
this->addAction(action_show);
this->addAction(action_setting);
this->addAction(action_login_home);
this->addSeparator();
this->addAction(action_help);
this->addAction(action_about);
this->addAction(action_check_update);
this->addSeparator();
this->addAction(action_quit);
action_setting->setVisible(false);
//设置信号连接(这里仅列举连接显示窗口的信号)
QObject::connect(action_show, SIGNAL(triggered(bool)), this, SIGNAL(showWidget()));
}
LoginDialog::LoginDialog(QWidget *parent) : QDialog(parent)
{
QSystemTrayIcon *system_tray = new QSystemTrayIcon();
//放在托盘提示信息、托盘图标
system_tray ->setToolTip(QString("我就是托盘"));
system_tray ->setIcon(QIcon(":/icon/login"));
TrayMenu *tray_menu = new TrayMenu();
system_tray->setContextMenu(tray_menu);
//点击托盘执行的事件
connect(system_tray , SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconIsActived(QSystemTrayIcon::ActivationReason)));
connect(tray_menu, SIGNAL(showWidget()), this, SLOT(showNormal()));
//显示托盘
system_tray->show();
//托盘显示提示信息
system_tray->showMessage(QString("托盘标题"), QString("托盘显示内容"));
}
void LoginDialog::iconIsActived(QSystemTrayIcon::ActivationReason reason)
{
switch(reason)
{
//点击托盘显示窗口
case QSystemTrayIcon::Trigger:
{
showNormal();
break;
}
//双击托盘显示窗口
case QSystemTrayIcon::DoubleClick:
{
showNormal();
break;
}
default:
break;
}
}
OK,这样我们的托盘功能就Over了!
Qt之系统托盘(QSystemTrayIcon详解)相关推荐
- QT QTabWidget 控件 使用详解
本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...
- Qt之布局设置setLayout详解-源码剖析(下)
一.简述 大家好,我是前行中的小猪,今天呢给大家继续上一篇Qt之布局设置setLayout详解(上)之后的内容,再给大家进行一下拓展. 1.1 setLayout源码剖析 上篇我们说到如何清空部件上的 ...
- Qt 实现系统托盘,托盘菜单,托盘消息
欢迎关注公众号可以查看更多完整文章 Qt 实现系统托盘,托盘菜单,托盘消息 系统托盘就是运行的某个程序在电脑右下角的小图标,相信大家都很熟悉.QT 提供了QSystemTrayIcon类用于实现程序的 ...
- Linux系统守护进程详解
文中有不对或者有不清楚的地方,请大家告诉我,谢谢! Linux系统守护进程详解 不要关闭下面这几个服务: acpid, haldaemon, messagebus, klogd, network, ...
- 支付系统整体架构详解
2019独角兽企业重金招聘Python工程师标准>>> 支付系统整体架构详解 http://www.dataguru.cn/article-11263-1.html http://w ...
- IBM p5服务器上的虚拟 分享,IBMp5服务器系统虚拟技术详解
<IBMp5服务器系统虚拟技术详解>由会员分享,可在线阅读,更多相关<IBMp5服务器系统虚拟技术详解(10页珍藏版)>请在人人文库网上搜索. 1.IBM p5 服务器系统虚拟 ...
- 分布式表格系统Google Bigtable详解
分布式表格系统Google Bigtable详解 概述 Bigtable架构 数据分布 保证 副本位置与负载均衡 存储 表的分裂与合并 存储引擎 垃圾回收 总结 概述 bigtable系统由表格组成, ...
- 升级鸿蒙系统如何退出,华为鸿蒙2.0系统升级了怎么退回EMUI11系统-操作教程详解...
华为鸿蒙2.0系统升级了怎么退回EMUI11系统?很多用户升级了又不知道如何才能退回到原来的系统,下面就让老铁下载小编为大家带来,2.0系统升级退回EMUI11系统操作教程详解. 这次开启华为鸿蒙2. ...
- 必过SafetyNet!以MIUI开发版系统为例详解Android设备通过SafetyNet校验方法
必过SafetyNet!以MIUI开发版系统为例详解Android设备通过SafetyNet校验方法 作者 梓沐啊_(KylinDemons) 版权声明 Copyright © 2021 KylinD ...
- Qt QLineEdit单行输入框用法详解
Qt QLineEdit单行输入框用法详解 QLineEdit 是 Qt 提供的一个控件类,它直接继承自 QWdiget 类,专门用来创建单行输入框,如下图所示: 图 1 单行文本输入框 实际开发中, ...
最新文章
- 对话IT:火狐4.0正式版发布 庆功会上听宫博士“酒后真言”
- 【深度学习入门到精通系列】进化策略 (Evolution Strategy)
- Tensorflow-gpu安装
- oracle nvachar 长度,Oracle中varchar、varchar2和nvarchar、nvarchar2
- VSCode打造成为开发神器-插件篇
- 入坑emacs之配置文件 .emas.d/init.el -v1.0
- 花小猪,真正的对手是谁?
- Mac中word插入图片保持原来的清晰度
- SVN使用log,list,cat,diff命令查看特定文件版本信息
- java内存:堆、栈、常量池、方法区
- java 观察者模式示例_Java中的观察者设计模式-示例教程
- [蓝桥杯][2019年第十届真题c/c++B组]迷宫(寻找路径bfs及文件输入输出)
- PSD分层可临摹模板|无线端电商页面UI设计几个常见的错误
- 风控中的企业与个人数据有哪些核验维度
- java math 三角函数_Java中的三角函数
- Prolog编程学习(一)
- Wechall Challenges Writeup 知识拓展
- 海康威视web管理端下载视频录像
- 因补助低!名校博士生开展大规模学术罢工行动!多校濒临崩溃
- 无线局域网简介 小白级别
热门文章
- Java 编写推箱子报告_Java推箱子怎么写啊?
- 人群频率 | gnomAD数据库 (二) 后台数据的获取及质量评估
- 方差分析中的“元”和“因素”是什么?
- Caret模型训练和调参更多参数解读(2)
- 废弃P-value,还是学学如何评估统计检验结果?
- NOI数学:狄利克雷(Dirichlet)卷积
- 程序员的失业危机原因及应对方法汇总
- centos7远程桌面端口_CentOS7启用远程桌面连接
- Java笔记-Semaphore简单应用实例
- Java笔记-基于Spring Boot的SOAP双向SSL认证及WS-Security