Qt 添加程序图标和系统托盘图标
添加程序图标
第一种方法:
1、创建程序的时候,选择添加默认图标
2、替换程序目录下的ico文件,编译生成即可。
第二种方法:
比较适合一开始没有添加程序图标的情况
1、项目右键--》添加--》新建项--》资源文件(.rc) 创建 ico.rc文件
2、在 ico.rc文件 中写入下面的代码
IDI_ICON1 ICON DISCARDABLE "1.ico"
3、将1.ico 文件放到程序的当前目录下,然后编译生成即可。
添加系统托盘图标
1、添加成员变量
QSystemTrayIcon m_systray;
2、在构造函数里执行如下代码
// 设置提示文字
m_systray.setToolTip(QString::fromLocal8Bit("易语言"));
// 设置托盘图标
m_systray.setIcon(QIcon("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\rose.ico"));
// 设置托盘菜单
QMenu* menu = new QMenu();
menu->addAction(ui.actionTest1);
menu->addAction(ui.action_HelloWorld);
// 添加分隔符
menu->addSeparator();
menu->addAction(ui.actionExit);
// 设置菜单
m_systray.setContextMenu(menu);
// 关联托盘事件
connect(&m_systray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(OnSystemTrayClicked(QSystemTrayIcon::ActivationReason)));
// 显示托盘菜单
m_systray.show();
// 托盘菜单命令的处理
connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(OnExit()));
3、编写相关槽函数
void QtTest2::OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::Trigger || reason == QSystemTrayIcon::DoubleClick)
{
// 显示主窗口
this->showNormal();
}
} void QtTest2::OnExit()
{
QApplication::exit();
}
4、重写 closeEvent 函数
void QtTest2::closeEvent(QCloseEvent* event)
{
this->hide();
event->ignore();
}
Qt 添加程序图标和系统托盘图标的更多相关文章
- QT添加程序图标及窗口图标
程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...
- Qt应用程序图标设置
Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...
- Qt应用程序图标
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt应用程序图标 本文地址:http://techieliang.com/2017/1 ...
- 【Qt开发】设置Qt应用程序图标
[Qt开发]设置Qt应用程序图标 标签:[Qt开发] 首先,准备一个图标,例如:zx.ico,并新建一个文本文档,在里面添加一行: IDI_ICON1 ICON DISCARDABLE"zx ...
- 【转】设置Qt应用程序图标及应用程序名
一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看: 通过网上的例子知道qt助手中有相关说明: Setting the Applicat ...
- 设置Qt应用程序图标及应用程序名 【转载】
一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看: 通过网上的例子知道qt助手中有相关说明: Setting the Applicat ...
- C++ 添加程序图标到我的电脑
C++ 像我的电脑中 百度网盘的 那图标快捷方式.如何生成的呢?设置程序图标到我的电脑 请看下边代码 就ok了(*^__^*) 嘻嘻-- 类似下图: 大家如果看我下边的不是很清楚,可以下载这个具体工程 ...
- Delphi 设置程序图标为系统默认图标
Windows VCL 程序: 1. 用文本编辑器打开Delphi项目的.dproj文件.2. 搜索关键字“<Icon_MainIcon>”,查找Icon_MainIcon元素.3. 将所 ...
- 设置QT应用程序图标方法(Windows下)
学习笔记,言简意赅. 1- 新建文本文件,编辑输入 IDI_ICON1 ICON DISCARDABLE "./image/WindowIco.ico" 注意: ...
随机推荐
- 第09组 Alpha冲刺(4/4)
队名:软工9组 组长博客:https://www.cnblogs.com/cmlei/ 作业博客:https://edu.cnblogs.com/campus/fzu/SoftwareEngineer ...
- JVM探究之 —— Java内存区域
1. 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”又是从事最基础工作的“劳动人民”——既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的 ...
- 007 webpack基本的用法
1.安装node.js 因为webpack是基于node.js的 2.新建目录 3.需求 列表的隔行变色 4.初始化 在终端中使用npm init命令可以自动创建这个package.json文件 n ...
- 在evernote中如何使序号正常连续?
答: 在二级内容之前按Shift + Enter键,再次换行即可序号正常,示例如下: 1. 第一行(在此处按下Shift+Enter键) 第一行第一列(在此处按下Shift+Enter键) 第一行第二 ...
- 利用Entity Framework修改指定字段中的值
利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article mode ...
- [LeetCode] 216. Combination Sum III 组合之和 III
Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...
- Linq调试实时输出信息扩展方法(摘抄)
原文在此 [译]如何在C#中调试LINQ查询 原linq语句: var res = employees .Where(e => e.Gender == "Male") .Ta ...
- openstack 权限控制 (添加自定义角色)keystone等组件
每一个平台.系统都会对于用户的权限进行严格的管理与控制. openstack是一个开源的项目,我们可以直接下载其源码,进行更改以达到我们的要求. 这里只是针对于用户的权限进行管理,以keystone: ...
- Lambda的延迟执行
在兼顾面向对象特性的基础上,Java语言通过Lambda表达式与方法引用等,为开发者打开了函数式编程的大门. 下面我们做一个初探. Lambda的延迟执行 有些场景的代码执行后,结果不一定会被使用,从 ...
- SpringBoot常用注解(一)
控制层:controller 1.@RestController注解相当于@ResponseBody + @Controller合在一起的作用.即这样写每一个方法返回的是 JSON 类型的数据. 2. ...