Qt托盘程序
使用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托盘程序的更多相关文章
- Qt应用程序图标设置
Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...
- 报表控件NCReport教程:集成NCReport到Qt应用程序中
NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 但是好多使用NCReport控件的朋友都不 ...
- QT添加程序图标及窗口图标
程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...
- delphi 托盘程序 转
Delphi的托盘编程 .现在很多程序都用这个,比如傲游,迅雷等,主要代码如下: uses Windows, Messages, SysUtils, Variants, Classes, Grap ...
- Delphi 托盘程序实现 转
unit MainUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...
- Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...
- Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)
最近一直在学习Qt,用Qt写了一个程序,但是不知道怎么发布,网上说的都是在windows下怎么发布Qt应用程序,但是,在windows下Qt应用程序依赖的库文件与linux下的名字不同.于是,我就想到 ...
- 让你的 Qt 桌面程序看上去更加 native(一共六篇)
<让你的 Qt 桌面程序看上去更加 native>是一个系列文章.在这个系列中,你将会了解到如何让你的 Qt 桌面应用程序看上去更加 native.这里,我假设你已经清楚如何使用 Qt 编 ...
- 让qt应用程序支持触摸
一.设备驱动 我的触摸屏是usb接口的 可以参考下这2篇文件 http://blog.csdn.net/paomadi/article/details/8754783 usb触摸屏 http://bl ...
随机推荐
- Python 从零搭建 Conf_Web 配置管理平台
作者:Eagle 某船舶行业科技公司,运维工程师,51Reboot学员.通过在51Reboot学习,由运维工程师转至运维开发工程师.完成公司自动化平台的构建,对运维开发有了自己的理解,空闲时间写了这么 ...
- Unity扩展编辑器五
扩展系统自带组件Inspector 可以在系统摄像机组建上添加一个按钮,这样就可以单独处理逻辑了
- 【坚持】Selenium+Python学习记录 DAY8
2018/05/ 28 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) 继续敲类相关的代码 #No.1 class peo ...
- Netty源码分析第3章(客户端接入流程)---->第4节: NioSocketChannel注册到selector
Netty源码分析第三章: 客户端接入流程 第四节: NioSocketChannel注册到selector 我们回到最初的NioMessageUnsafe的read()方法: public void ...
- WebRTC入门
什么是WebRTC? 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转.比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器.乙和服务器之间建立信道.甲给乙发 ...
- 如何快速搭建yum源
yum命令能够从指定的服务器自动下载rpm包并安装,它最强大的地方就是可以自动处理软件包的依赖关系,能够一次安装所有依赖的关系包.下面将通过虚拟机平台介绍两种快速搭建yum源的方法: 一.有网络的情况 ...
- linux后台启动程序脚本实例
启动安装的zookeeper和kafka #!/bin/bash # start zookeeper and kafka service echo "========== Start the ...
- Erlang的调度原理(译文)
原文 http://jlouisramblings.blogspot.com/2013/01/how-erlang-does-scheduling.html 免爬墙链接 http://www.diku ...
- python常用模块目录
博客目录总纲首页 python其他知识目录 random hashlib os sys json __name__ shutil xlrd xlwt xlutils 核心模块:os s ...
- Scrum立会报告+燃尽图(十二月六日总第三十七次):程序功能逻辑优化
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...