使用QSystemTrayIcon类可以实现托盘程序。在这里使用QMainWindow做实例:

mainwindow.h头文件

 #ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QSystemTrayIcon>
#include <QAction>
#include <QMenu>
#include <QCloseEvent> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = );
~MainWindow(); private:
void closeEvent(QCloseEvent * event); private:
Ui::MainWindow *ui; QSystemTrayIcon* systemIcon; //系统托盘
QAction* min; //最小化
QAction* max; //最大化
QAction* restore; //还原程序
QAction* quit; //退出程序
QMenu* menu; //托盘程序的右键目录
}; #endif // MAINWINDOW_H

mainwindow.cpp 源文件

 #include <QString>
#include "mainwindow.h"
#include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this); QIcon icon(":/new/prefix1/images/icon.ico");
systemIcon = new QSystemTrayIcon(this); //托盘程序
systemIcon->setIcon(icon);
systemIcon->setToolTip(QString::fromLocal8Bit("测试托盘程序")); //连接托盘菜单功能到槽函数
min = new QAction(QString::fromLocal8Bit("最小化窗口"), this);
connect(min, SIGNAL(triggered()), this, SLOT(hide()));
max = new QAction(QString::fromLocal8Bit("最大化窗口"), this);
connect(max, SIGNAL(triggered()), this, SLOT(showMaximized()));
restore = new QAction(QString::fromLocal8Bit("还原窗口"), this);
connect(restore, SIGNAL(triggered()), this, SLOT(showNormal()));
quit = new QAction(QString::fromLocal8Bit("退出"), this);
connect(quit, SIGNAL(triggered()), qApp, SLOT(quit())); menu = new QMenu(this);
menu->addAction(min);
menu->addAction(max);
menu->addAction(restore);
menu->addSeparator();
menu->addAction(quit);
systemIcon->setContextMenu(menu); //设置托盘程序功能菜单
systemIcon->show();
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::closeEvent(QCloseEvent *event)
{
if(systemIcon->isVisible())
{
hide(); //隐藏主程序
systemIcon->showMessage(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("测试程序正在后台运行!"));
event->ignore();
}
}

Qt托盘程序的更多相关文章

  1. Qt应用程序图标设置

    Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...

  2. 报表控件NCReport教程:集成NCReport到Qt应用程序中

    NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 但是好多使用NCReport控件的朋友都不 ...

  3. QT添加程序图标及窗口图标

    程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...

  4. delphi 托盘程序 转

    Delphi的托盘编程   .现在很多程序都用这个,比如傲游,迅雷等,主要代码如下: uses Windows, Messages, SysUtils, Variants, Classes, Grap ...

  5. Delphi 托盘程序实现 转

    unit MainUnit; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...

  6. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  7. Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)

    最近一直在学习Qt,用Qt写了一个程序,但是不知道怎么发布,网上说的都是在windows下怎么发布Qt应用程序,但是,在windows下Qt应用程序依赖的库文件与linux下的名字不同.于是,我就想到 ...

  8. 让你的 Qt 桌面程序看上去更加 native(一共六篇)

    <让你的 Qt 桌面程序看上去更加 native>是一个系列文章.在这个系列中,你将会了解到如何让你的 Qt 桌面应用程序看上去更加 native.这里,我假设你已经清楚如何使用 Qt 编 ...

  9. 让qt应用程序支持触摸

    一.设备驱动 我的触摸屏是usb接口的 可以参考下这2篇文件 http://blog.csdn.net/paomadi/article/details/8754783 usb触摸屏 http://bl ...

随机推荐

  1. Linux下的消息队列

    文章链接:https://blog.csdn.net/qq_38646470/article/details/80169406

  2. Centos6.8操作防火墙

    设置防火墙iptables开放3306接口 在/etc/sysconfig下面有个iptables文件,在控制台输入命令 iptables -I INPUT -p tcp --dport 3306 - ...

  3. 安装keystone时创建用户失败

    系统:centos7.3 版本:openstack ocata 1.问题描述 安装keystone在创建用户时报错: The request you have made requires authen ...

  4. Annotation 使用备忘2

    title: Annotation 使用备忘 date: 2018-01-02 20:48:43 tags: [Annotation] categories: [Programming,Java] - ...

  5. 6.capacity scheduler

      1.先决条件 要使用yarn的capcitiy调度器,必须开启yarn的ACLs,否则队列ACLs设置不生效 开启yarn ACLs: # hadoop: core-site.xml hadoop ...

  6. 第一章 HTML介绍

    1.1 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTML是网页内容的载体.内容就 ...

  7. centos下配置gitosis服务器遇到的困难

    这篇博客主要讲的是在centos下配置gitosis遇到的问题. 背景:centos7.2 64 :gitosis2.0 1.困难1 1)产生的问题及原因.gitosis没有安装成功,没有出现fini ...

  8. (第十一周)约跑APP测试报告

    项目名称:约跑App 用户需求规格说明书URL:http://www.cnblogs.com/liquan/p/6071804.html 组长博客URL:http://www.cnblogs.com/ ...

  9. BugPhobia发布篇章:学霸在线系统正式发布

    Alpha阶段的服务器部署和移植工作最终完成,http://10.2.26.67/,期待您的访问~ 首先,请允许bugphobia团队对您的访问给予感谢以及诚恳的致歉.受服务器端的硬件限制,目前学霸在 ...

  10. 20162314 《Program Design & Data Structures》Learning Summary Of The Ninth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Ninth Week ...