linux系统如何用qt实现托盘,【linux】【qt5界面】【系统托盘图标的实现】
前言:
博主最近在做一个聊天软件,虽然技术不咋滴,但遇到点干货肯定是要跟大家分享的啦。下面就给大家分享一个qt实现程序隐藏才系统托盘的技巧。
装备:
系统:linux,
qt版本:5.9.2,GCC:4.9.3.
1.头文件声明:
QSystemTrayIcon *mSysTrayIcon; //记得头文件
void on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason reason);//槽函数的声明
2.窗口初始化时创建托盘对象:
//新建QSystemTrayIcon对象
mSysTrayIcon = new QSystemTrayIcon(this);
//新建托盘要显示的icon
QIcon icon = QIcon(":/new/images/im_icon.png");
//将icon设到QSystemTrayIcon对象中
mSysTrayIcon->setIcon(icon);
//当鼠标移动到托盘上的图标时,会显示此处设置的内容
mSysTrayIcon->setToolTip(QObject::trUtf8("xxx客户端"));
//给QSystemTrayIcon添加槽函数
connect(mSysTrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason)));
//在系统托盘显示此对象
mSysTrayIcon->show();
3.槽函数实现点击事件。
//系统托盘功能
void ocswk::on_activatedSysTrayIcon(QSystemTrayIcon::ActivationReason reason)
{
switch(reason){
case QSystemTrayIcon::Trigger:
//单击托盘图标,显示窗体
this->show();
break;
case QSystemTrayIcon::DoubleClick:
//双击托盘图标
//双击后显示主程序窗口
QMessageBox::information(this,"xxx", "xxxxxx");
break;
default://还有个右键事件没写。
break;
}
}
4.体现图标作用:决定是否退出程序或缩小图标
// closeEvents
void ocswk::closeEvent(QCloseEvent *event)
{
QMessageBox button(QMessageBox::Warning, QString(tr("退出程序")),QString(tr("确认退出程序!")));
button.setStandardButtons (QMessageBox::Yes|QMessageBox::No);
button.setSizeIncrement(250,120);
button.setButtonText (QMessageBox::Yes,QString("确定退出"));
button.setButtonText (QMessageBox::No,QString("缩小托盘"));
if(button.exec() != QMessageBox::Yes)
{
this->hide();
event->ignore();
}else{
event->accept();
}
}
5.图标抖动:来消息图标抖动事件还没完成(其实俺也不会啊),等后续更新吧。
linux系统如何用qt实现托盘,【linux】【qt5界面】【系统托盘图标的实现】相关推荐
- linux系统如何用root用户登陆,Linux用root账号创建一个新的登录账号的方法
Linux下如何创建新用户通常情况下,处于安全考虑,一般都给自己创建一个普通用户,而不直接使用root用户,因为权限大了,误操作就容易带来无法弥补的损失.Linux系统中,只有root用户有创建其他用 ...
- linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...
信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...
- 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...
- Linux系统电脑非正常关机之后可能出现在登录界面循环的情况
Linux系统电脑非正常关机之后可能出现在登录界面循环的情况 例如: Ubuntu 18.04 有时会出现在登录界面循环,你输入密码,回车后又回到输入密码界面 ,遇到这样的解决办法是直接进入命令行模式 ...
- linux如何运行verilog,linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令.doc...
linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令 ncverilog: 08.10-p002: (c) Copyright 1995-2008 Cadence ...
- linux系统组成之小型RedHat little linux制作二
本篇是在上篇"linux系统组成之小型RedHat little linux制作一"的基础上对微型小系统进一步完善,使其实现关机.重启等功能 ⑴.通过脚本使其微型系统实现关机.重启 ...
- linux 系统业务迁移,记录一次linux系统迁移过程
就在最近,终于为自己的电脑加装了固态.在装完固态之后,首先面临的问题就是如何将原先安装在机械硬盘上的linux系统迁移到固态上.还要考虑后续配置的问题. 本文主要讲述在迁移Linux系统到新的固态硬盘 ...
- 路由器 刷 linux系统版本,一个小型的无线路由器 Linux 系统OpenWRT[转]
一个小型的无线路由器 Linux 系统OpenWRT分类:电脑技术 » linux应用 出处:网络 OpenWRT - (http://www.openwrt.org) 开发板: 十几种市面 ...
- linux系统 ghost吗,GHOST能于LINUX系统备份吗?
使用Ghost软件来实现备份和恢复Linux系统: 1.首先用 "雨林木风 Ghost XP SP3 纯净版 Y6.0" 光盘进行引导,并使用其中的PQ软件对硬盘进行分区,划分出一 ...
最新文章
- com.sun.crypto.provider.SunJCE
- 对计算机应用的认识100,计算机应用基础
- 计算Gaunt积分 m1m2<0
- 成立阿里大农业兄弟连-万祥军:农民丰收节交易会乡村脱贫
- Qt Creator使用命令行选项
- 38 | 案例篇:怎么使用 tcpdump 和 Wireshark 分析网络流量?
- html的带分页的表格写法,Html表格分页
- 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
- HTML5锤子官网,美国ESTWING 一体化锻造羊角锤 非常好用的锤子
- pyqt5设置按钮,移上去变为手型
- python游戏房间_使用 Python 学习面向对象的编程 | Linux 中国
- pycharm 设置为git默认编辑器_pycharm配置使用git
- java 反射抽象_Java实现抽象工厂模式+java的反射的机制
- 一个特牛的日期时间判断正则表达式
- 国家自然科学基金申请书写作攻略
- 我的前半生之六,创业维艰,我不想骂你,你滚吧
- “超低能,劲搞笑”笑话管理系统 v2.0
- MongoDB可视化工具之Studio 3T的使用
- 旧手机(小米4)装linux的一个记录
- 微信小程序退出按钮回退到登录页面
热门文章
- HDU 5073 Galaxy (2014鞍山现场赛D题)
- python 爬取HTML内容并保存到txt文件内
- python如何画损失函数图_TensorFlow损失函数专题详解
- java .tpl是什么模版_tpl标签定义
- Android中OnkeyDown()和OnBackPressed()
- 新手买树莓派的时候要注意什么
- [问题解决]更新订单BOM中的Qty Var-Sz Item字段失败
- Bootstrapping 简介,应用,利弊分析
- 2021安全员A模拟考试多选题库及答案
- CSS:实现一个斑马线效果 (条纹背景)