QT之系统托盘

来源:互联网 发布:ubuntu 16.04 微信 编辑:程序博客网 时间:2024/05/16 19:13

QT之系统托盘

  • QT之系统托盘
    • 插叙
    • 应用背景
    • 应用效果图
    • 上代码
    • 自定义菜单效果图
    • 下代码
    • 结尾

插叙

今天天气不错哈,在这么寒冷的天气,享受着这么温暖的阳光。很舒服!你懂的~~趁这个大好时光,我给大伙再来一发续篇,经过上一节QT之独立标题栏大伙不仅有了漂亮的标题栏之后,是不是还实现了最小化和关闭功能啊?你是不是在想我们点击关闭按钮后,能不能像QQ样,不想退出,而是最小化到系统托盘里呀,好的,今天我给大家来实现系统托盘的功能,让你也享受一把!(^__^)

应用背景

我们关闭界面后,不希望直接退出,而是最小化到系统托盘。点击托盘图标后,又可以查看我们的主界面。

应用效果图

系统托盘

是不是感觉棒棒哒!(^__^) !!!,系统托盘图标可不是我的QQ哦,那是我Demo里的图标,只是用的QQ图标而已。好了,又是关键时刻了,大伙最想看到的不仅仅是效果,更想看代码吧!放心,代码是有的哈!好了,我们代码之旅开始吧。

上代码

//首先我们需要这句话,它作用就是我退出时,并不希望真正的退出。QApplication::setQuitOnLastWindowClosed(false);

描述

这里是QT官网文档介绍

#define TRAY_ICON   ":/Demo/Resources/logo_/All_logo32.ico"#define CLOSE_MENU  ":/Demo/Resources/fatalerror.png"SysTray::SysTray(QWidget *parent)        : m_parent(parent)        , QSystemTrayIcon(parent){    initSysTemTray();    show();}SysTray::~SysTray(){}void SysTray::initSysTemTray(){    setToolTip(tr("titleName"));    setIcon(QIcon(TRAY_ICON));    connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onIconActivated(QSystemTrayIcon::ActivationReason)));}void SysTray::onIconActivated(QSystemTrayIcon::ActivationReason reason){    if (reason == QSystemTrayIcon::Trigger)    {        m_parent->show();        m_parent->activateWindow();    }}

是不是并没有你想象的那么难,这一切还是感谢QT吧,因为很多东西QT都已经帮我们封装得很好,为我们提供了各种接口,没有你找不到的接口,只有你想不到的,哈哈~有些夸张哈。好了,我再给大家展示一张效果图,等我再享受一会阳光,我紧接着给大家揭晓答案哈。下篇QT之自定义菜单

自定义菜单效果图

自定义菜单

大家注意看哦,我点击关闭的时候,就真正的退出,和上面说的没有真正的退出,大家理解下哈。

下代码

关于源码,大家放心,我会再这期把整个Demo讲解完,整个附上。只需持续关注我·嘿嘿~O(∩_∩)O

结尾

只为记录,只为分享! 愿所写能对你有所帮助。Good Good Study, Day Day Up!
如果你觉得我所写的对你有帮助,默默点个赞哈,你的赞就是我最大的支持,嘿嘿~不要说我骗赞哦,(^__^)

1 0
原创粉丝点击