在Qt中设置程序图标的方法介绍

news2024/9/23 11:24:03

在Qt中设置程序图标的方法介绍

  • [1] 在Qt中设置程序图标的方法介绍
    • 1 概述
      • 1)可执行程序(以及对应的快捷方式)的图标
      • 2)程序界面标题栏图标
      • 3)程序在任务栏中的图标
    • 2 方法
      • 2.1 创建资源文件
      • 2.2 设置标题栏图标
      • 2.3 设置可执行程序图标
    • 2.4 效果检查
  • [2] logo qt添加_Qt添加图标


[1] 在Qt中设置程序图标的方法介绍

原文链接:https://blog.csdn.net/liitdar/article/details/125321817

本文主要介绍在 Qt 中设置程序图标的方法。

说明:

本文中的应用程序是面向 Windows 操作系统的;
本文中使用的 Qt Creator 版本号为:7.0.0;
本文中使用的 Qt 版本号为:5.14.2;
本文介绍的方法中使用的图标文件需为“ico”格式,且该文件必须包含 ico data。包含 ico data 的 ico 格式图标可由“http://www.ico51.cn/”等网站生成。

1 概述

在 Windows 操作系统中,程序图标一般会涉及三个地方,以文件搜索软件“everything”为例,程序图标分别为:

1)可执行程序(以及对应的快捷方式)的图标

在这里插入图片描述

2)程序界面标题栏图标

在这里插入图片描述

3)程序在任务栏中的图标

在这里插入图片描述
下面介绍使用 Qt 编写 Windows 桌面应用程序时,上面这三个图标的具体设置方法。

注意:
如果使用qmake来生成makefile文件,只需要在.pro中添加:

RC_ICONS = app_icon.ico

然后,重新生成makefile文件和应用程序,对应的.exe可执行程序的图标就会转变为刚才添加的图标。

2 方法

本章详细介绍设置程序图标的方法。

2.1 创建资源文件

首先,通过 Qt Creator 为项目创建一个新的资源文件,如下图所示:
在这里插入图片描述
然后根据实际情况填写文件名和路径信息,如下图所示:
在这里插入图片描述
点击上图中的“Next”按钮,完成资源文件的创建。创建好的资源文件会自动添加到项目中,如下图所示:
在这里插入图片描述
右键点击创建好的资源文件,选择“Open in Editor”,之后在弹出的编辑器中根据实际情况补全程序图标的路径和名称,具体方法如下:

在 Prefix 框体中填写程序图标的路径信息,如果程序图标与项目 pro 文件处于同一目录下,则填写“/”路径即可;
部署程序图标文件,例如可将程序图标文件放置在项目主目录下(与 pro 文件位于同一目录);
点击“Add Files”按钮添加程序图标。
上述操作完成后,资源文件的信息如下图所示:
在这里插入图片描述
在本文的示例中,图标文件名称为“Hexapod.ico”,该文件位于项目主目录下。

2.2 设置标题栏图标

通过下列函数设置标题栏图标:

setWindowIcon(QIcon("://Hexapod.ico"));

2.3 设置可执行程序图标

设置可执行程序图标的步骤如下:

  1. 在项目主目录下新建一个 .rc 文件,例如 Hexapod.rc;

  2. 使用 Notepad++ 等软件编辑 .rc 文件,向其中添加如下内容:

IDI_ICON1    ICON    DISCARDABLE    "Hexapod.ico"

至此,程序图标设置步骤就全部完成了。

说明:程序可执行图标设置后,程序对应的任务栏图标也会随之改变,不必单独设置。

2.4 效果检查

完成上述步骤后,重新构建项目,得到的可执行程序图标、程序界面标题栏图标和任务栏图标就会更新为设置的图标了,这三个位置的图标更新情况,如下列三张图片所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[2] logo qt添加_Qt添加图标

原文链接:https://blog.csdn.net/weixin_39753584/article/details/111728332

1 Qt添加.exe程序图标

1.1 Qt Creator添加.exe程序图标

在网上(在线生成工具https://converticon.com/)生成一个ico图标文件,命名为:logo.ico,将 ico文件存放至应用程序的源代码目录。

1.1.1 方法一

如果使用qmake来生成makefile文件,只需要在.pro中添加:

RC_ICONS = logo.ico

然后,重新生成makefile文件和应用程序,对应的.exe可执行程序的图标就会转变为刚才添加的图标。

1.1.2 方法二

新建一个.rc文件,“新建文件”—“C++ source File”—命名为logo.rc(不能掉了rc后缀)。

打开logo.rc文件添加如下一行代码。

IDI_ICON1 ICON DISCARDABLE "logo.ico"

最后在pro文件添加一行代码

RESOURCES +=\

qss.qrc

#RC_ICONS=logo.ico

DISTFILES+=\

logo.rc

RC_FILE+= logo.rc

保存项目重新编译,exe图标和执行时window图标都将发生变化。

1.2 Qt in VS添加.exe程序图标

在网上(在线生成工具https://converticon.com/)生成一个ico图标文件,命名为:temp.ico,将 ico文件存放至应用程序的源代码目录。

在工程根目录下,新建一个temp.rc文件,内容如下:

IDI_ICON1 ICON DISCARDABLE "logo.ico"

修改“工程名.vcxproj”文件,在:

之后,添加

重新生成项目即可。

2 Qt添加应用程序图标

如果只设置了可执行程序的图标,而没有设置窗口左上方的图标。结果就是窗口左上方的图标、状态栏图标和可执行程序图标将使用同一个图标。

“右键项目”—“添加新文件”,选择“Qt类”—再选择“Qt Resource File”

点击“choose”,可得到

在“名称”中添加资源文件名“qss”,然后点击“下一步”,得到

点击完成,可以看到添加的资源文件如图所示

右键“qss.qrc”—“Add Prefix”

在“Prefix”中添加“Images”,指定文件夹名为“Images”,然后点击“OK”

在应用程序的源代码目录中添加一个文件名为“mainWindow”的图片文件

右键“Images”文件夹,点击“添加现有文件”,选择“mainWindow.jpg”

双击“MainWindow.ui”,在mainWindow的属性栏中,选中“windowIcon”,点击“▼”,

再点击“选择资源”或者“选择文件”,点击“Images”,再选中资源文件“mainWindow.jpg”,最后点击“OK”。

运行程序,结果如图

3 Qt添加按钮图标

3.1 Qt Creator添加按钮图标

在应用程序的源代码目录中添加一个文件名为“image”的文件夹,在里面添加一些按钮图标的图片文件。

右键“Images”文件夹,点击“添加现有文件”,选中所有图标图片文件,然后点击“打开”

3.1.1 方法一

在构造函数中申明一个QIcon对象用来存放图标

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(newUi::MainWindow)

{

ui->setupUi(this);//申明一个QIcon对象用来存放图标

QIcon button_ico(":/Images/image/red");

}

按钮对象调用setIcon()函数把图片加载到pButton上,同时设置按钮大小

//设置图标、图标大小,按钮对象调用setIcon()函数把图片加载到pButton上

pButton->setIcon(button_ico); pButton->setIconSize(QSize(18,18));

//设置文本

pButton->setText(QString("Click Me %1").arg(i + 1));

点击“运行”,如下图所示

3.1.2 方法二

双击“MainWindow.ui”,在按钮PushButton的属性栏中,选中“icon”,然后再分别可以给按钮在不同状态,通过点击“▼”添加相对应的图标,可以实现图标的切换。

3.2 Qt in VS添加按钮图标

VS会自动生成qrc文件:

使用默认的Qt资源编辑器打开

(可选的:将默认前缀改为/),添加资源文件

Resource URL即图标文件路径,使用方法:

helloQt::helloQt(QWidget *parent)

: QMainWindow(parent)

{

ui.setupUi(this);//申明一个QIcon对象用来存放图标

QIcon button_begin_ico(":/image/begin.png"); QIcon button_green_ico(":/image/green.png");

//设置图标、图标大小,按钮对象调用setIcon()函数把图片加载到pButton上

ui.pushButton->setIcon(button_begin_ico); ui.pushButton->setIconSize(QSize(30, 30));

ui.pushButton_2->setIcon(button_green_ico);

ui.pushButton_2->setIconSize(QSize(30, 30));//setFlat去除按钮边框

ui.pushButton->setFlat(true);

ui.pushButton_2->setFlat(true);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置文件Application.properties

配置文件Application.properties 属性配置配置文件的多种格式yaml的数据格式读取yaml文件中的属性值读取yaml文件中的全部属性yaml文件 数据库的属性 属性配置 在application.properties中添加server.port端口号即可 # 服务器端口配置 server.port80# 修改banner 关闭banner …

SpringBoot项目----图书管理系统(详解)

目录 项目业务 技术栈 数据库表的设计 数据库表关系图 关于字典表 前后端接口实现 1.初始化数据库、表、数据 2.数据库连接池配置 3.统一响应封装 4.统一异常处理 5.实现统一会话管理(登录) 5.通过Mybatis生成工具,生成mapper接…

【大数据之Hadoop】二十九、HDFS存储优化

纠删码和异构存储测试需要5台虚拟机。准备另外一套5台服务器集群。 环境准备: (1)克隆hadoop105为hadoop106,修改ip地址和hostname,然后重启。 vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname r…

JVET-AD0081:一种基于外推滤波器的帧内预测模式

本提案提出了一种基于外推滤波器的帧内预测(extrapolation filter-based Intra Prediction,EIP)模式。首先,利用预定模板从当前块的相邻重建像素获得外推滤波器系数。然后,在当前块内从左上到右下逐位置地处理外推&…

Linux常用命令(3)

文章目录 Linux常用命令(3)显示文件显示文件内容分屏显示文件内容显示文件前n行(默认缺省10行)内容显示文件后n行(默认缺省10行)内容随文件的增长而显示 Linux常用命令(3) 按ctrlsh…

open3d教程(一):open3d的安装和测试

1 介绍 Open3d:用于3D数据处理的现代库。 Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。 Open3D 前端在 C 和 Python 中公开了一组精心挑选的数据结构和算法。后端经过高度优化,并设置为并行化。我们欢迎来自开源社区的贡献。 2 …

【零基础学机器学习 1】什么是机器学习?

机器学习的社会应用 1. 金融风控 机器学习在金融风控方面的应用非常广泛,可以用于预测借款人的信用风险、欺诈行为等。通过收集大量的历史数据,构建机器学习模型,可以对借款人的信用风险进行预测,从而帮助金融机构降低风险。 2…

关于ADC的笔记1

ADC,全称Anlog-to-Digital Converter,模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件,我们能通过ADC将外界的电压值读入我们的单片机中. 常见的ADC有两种 1.并联比较型: 它的优点是转换速度最快&#x…

[MYSQL / Mariadb]数据库学习-数据类型

数据库学习-数据类型 数据类型字符类型定长char例:定义表结构的定长: 变长 varchar例:创建表,定义变长练习字符类型 数值类型整数(tinyint, smallint, mediumint, int, bigint, unsigned)以mysql> desc mysql.user; 为例例&…

Leetcode697. 数组的度

Every day a leetcode 题目来源&#xff1a;697. 数组的度 解法1&#xff1a;哈希 我们这样构建哈希表 unordered_map<int, vector> umap&#xff1a; key&#xff1a;数组元素 nums[i]value&#xff1a;三元组[count, first, last]&#xff0c;分别代表元素 nums[i]…

Spring03--Spring基于注解的AOP、Spring事务

Spring基于注解的AOP 一、基于注解的AOP介绍 AOP注解方式 和 XML方式完成的功能是一样&#xff0c;只是采用方式不同而已。将原有的XML方式使用注解注意替代 二、环境搭建 使用Spring02中Spring基于配置文件的AOP的环境搭建 三、使用注解替换XML的配置步骤 1、通知类使用…

边缘化你必须知道的一件事!(FEJ知识点总结)

vins和g2o边缘化的异同&#xff1a;(已经做到ppt里面了&#xff0c;简单回顾一下) 1.《视觉slam14讲》中提及的边缘化(G2O边缘化)是在计算求解过程中&#xff0c;先消去路标点变量&#xff0c;实现先求解相机位姿&#xff0c;然后再利用求解出来的相机位姿反过来计算路标点的过…

qt creator添加build步骤删除某个文件

参考&#xff1a;https://blog.csdn.net/weixin_44436546/article/details/113587115 1. windows下配置&#xff1a; 添加build步骤&#xff1b;在commad栏输入cmd,会弹出C:\Windows\system32\cmd.exe&#xff1b;在Arguments栏输入/c release\upgrade.o&#xff1b;Working …

【数据结构】C语言实现双向链表(带头结点、循环)

C语言实现双向链表&#xff08;带头结点、循环&#xff09; 一、带头结点的循环双向链表二、结点与接口定义三、实现3.1 申请节点3.2 初始化3.3 打印3.4 尾插3.5 头插3.6 尾删3.7 判断链表为空断言3.8 头删3.9 查找find3.10 插入insert-在pos之前插入3.11 头插尾插复用insert3.…

机器学习算法实战(scikit-learn版本)---线性回归

目录 文章目标&#xff1a; 1&#xff0c;导入库 2&#xff0c;导入数据集 3&#xff0c;缩放/归一化训练数据 4,创建并拟合回归模型 5,查看参数 6,预测 7&#xff0c;可视化 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做[scikit-learn](https://scik…

阿里、京东等大厂年薪50w的测试都是什么水平?

各位做测试的朋友&#xff0c;但凡经历过几次面试&#xff0c;那么你一定曾被问到过以下问题&#xff1a; 1、在Linux环境下&#xff0c;怎么执行web自动化测试&#xff1f; 2、Shell如何&#xff0c;Docker熟悉吗&#xff1f; 3、全链路的压测实操过吗&#xff0c;如何推进与开…

【Linux】基本权限

&#x1f601;作者&#xff1a;日出等日落 &#x1f514;专栏&#xff1a;Linux 任何值得到达的地方&#xff0c;都没有捷径。 目录 Linux权限: 权限的概念&#xff1a; Linux上面的用户分类&#xff1a; Linux权限管理 文件访问者的分类&#xff08;人&#xff09; 文件…

小心白蛇!PyPI仓库被持续投放White Snake后门组件

背景 墨菲安全实验室在持续监测开源软件仓库中的投毒行为&#xff0c;4 月 14 日起陆续发现至少 41 个包含白蛇&#xff08;White Snake&#xff09;后门的 Python 包被发布到 PyPI 仓库&#xff0c;目前相关的后门包仍在持续发布。 事件简述 白蛇 &#xff08;WhiteSnake&a…

三种方法教你让模糊照片秒变高清图

现在随着数字相机和智能手机的普及&#xff0c;我们拍摄的照片数量越来越多&#xff0c;但是有些照片可能因为环境或技术等原因导致模糊不清&#xff0c;这时候我们就需要使用一些软件或工具来让照片变得清晰&#xff0c;以满足我们的需求。 下面介绍三种常用的照片变清晰的方…

专科生学习云计算的就业前景如何?

作为专科学历学习云计算&#xff0c;就业前景肯定是有的。因为目前开设云计算这门专业主要也是专科院校&#xff0c;目前入行的学历要求也是专科为起点&#xff0c;更加侧重技术技能水平&#xff0c;技术过关了才能找到合适的工作。 云计算作为一种新兴的IT技术方向&#xff0…