前言:

博主最近在做一个聊天软件,虽然技术不咋滴,但遇到点干货肯定是要跟大家分享的啦。下面就给大家分享一个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界面】【系统托盘图标的实现】相关推荐

  1. linux系统如何用root用户登陆,Linux用root账号创建一个新的登录账号的方法

    Linux下如何创建新用户通常情况下,处于安全考虑,一般都给自己创建一个普通用户,而不直接使用root用户,因为权限大了,误操作就容易带来无法弥补的损失.Linux系统中,只有root用户有创建其他用 ...

  2. linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...

    信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

  3. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  4. Linux系统电脑非正常关机之后可能出现在登录界面循环的情况

    Linux系统电脑非正常关机之后可能出现在登录界面循环的情况 例如: Ubuntu 18.04 有时会出现在登录界面循环,你输入密码,回车后又回到输入密码界面 ,遇到这样的解决办法是直接进入命令行模式 ...

  5. linux如何运行verilog,linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令.doc...

    linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令 ncverilog: 08.10-p002: (c) Copyright 1995-2008 Cadence ...

  6. linux系统组成之小型RedHat little linux制作二

    本篇是在上篇"linux系统组成之小型RedHat little linux制作一"的基础上对微型小系统进一步完善,使其实现关机.重启等功能 ⑴.通过脚本使其微型系统实现关机.重启 ...

  7. linux 系统业务迁移,记录一次linux系统迁移过程

    就在最近,终于为自己的电脑加装了固态.在装完固态之后,首先面临的问题就是如何将原先安装在机械硬盘上的linux系统迁移到固态上.还要考虑后续配置的问题. 本文主要讲述在迁移Linux系统到新的固态硬盘 ...

  8. 路由器 刷 linux系统版本,一个小型的无线路由器 Linux 系统OpenWRT[转]

    一个小型的无线路由器 Linux 系统OpenWRT分类:电脑技术 » linux应用    出处:网络   OpenWRT - (http://www.openwrt.org) 开发板: 十几种市面 ...

  9. linux系统 ghost吗,GHOST能于LINUX系统备份吗?

    使用Ghost软件来实现备份和恢复Linux系统: 1.首先用 "雨林木风 Ghost XP SP3 纯净版 Y6.0" 光盘进行引导,并使用其中的PQ软件对硬盘进行分区,划分出一 ...

最新文章

  1. com.sun.crypto.provider.SunJCE
  2. 对计算机应用的认识100,计算机应用基础
  3. 计算Gaunt积分 m1m2<0
  4. 成立阿里大农业兄弟连-万祥军:农民丰收节交易会乡村脱贫
  5. Qt Creator使用命令行选项
  6. 38 | 案例篇:怎么使用 tcpdump 和 Wireshark 分析网络流量?
  7. html的带分页的表格写法,Html表格分页
  8. 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
  9. HTML5锤子官网,美国ESTWING 一体化锻造羊角锤 非常好用的锤子
  10. pyqt5设置按钮,移上去变为手型
  11. python游戏房间_使用 Python 学习面向对象的编程 | Linux 中国
  12. pycharm 设置为git默认编辑器_pycharm配置使用git
  13. java 反射抽象_Java实现抽象工厂模式+java的反射的机制
  14. 一个特牛的日期时间判断正则表达式
  15. 国家自然科学基金申请书写作攻略
  16. 我的前半生之六,创业维艰,我不想骂你,你滚吧
  17. “超低能,劲搞笑”笑话管理系统 v2.0
  18. MongoDB可视化工具之Studio 3T的使用
  19. 旧手机(小米4)装linux的一个记录
  20. 微信小程序退出按钮回退到登录页面

热门文章

  1. HDU 5073 Galaxy (2014鞍山现场赛D题)
  2. python 爬取HTML内容并保存到txt文件内
  3. python如何画损失函数图_TensorFlow损失函数专题详解
  4. java .tpl是什么模版_tpl标签定义
  5. Android中OnkeyDown()和OnBackPressed()
  6. 新手买树莓派的时候要注意什么
  7. [问题解决]更新订单BOM中的Qty Var-Sz Item字段失败
  8. Bootstrapping 简介,应用,利弊分析
  9. 2021安全员A模拟考试多选题库及答案
  10. CSS:实现一个斑马线效果 (条纹背景)