Qt-setIcon无法加载图片为图标

当使用 添加Qt资源 来添加一个图片为图标时,按照以下流程:

1、右键点击.pro工程,选择在"Explorer中显示", 将包含图片的文件夹放在该路径下;

2、右键单击工程项目,点击Add new

3、依次选择Qt→Qt Resource File→名称:res(自己起个名字)→下一步→完成,就会生成一个名为res.qrc的文件。

4、res.qrc右键点击"Open in Editor", →添加前缀(可以简单写一个/)→添加文件(将图片文件夹下的所有图片选中)

5、编译一下,发现res.qrc里面已经有/图片文件夹的子项了。

这时候在程序中输入code:

复制代码
    //使用“添加Qt资源”,“:+前缀名+文件名”   
 ui->action_2->setIcon(QIcon(":/icon/rocket.png"));   
 ui->action_3->setIcon(QIcon(":/icon/qt.png"));

可是,发现图片并没有加载成功。很多人说是绝对相对路径的问题,在这里应该如此做:

1)在res.qrc下面展开图片,找到要加载的图片,右键点击 copy path :/icon/qt.png, 确定code中的路径与之一样;

2)执行qmake,编译,运行。

这时就会发现图标已经可以正确显示了。正所谓:"有事没事,qmake一下",可以解决很多问题。

相关推荐
踏着七彩祥云的小丑4 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid4 小时前
Python12(网络编程)
开发语言·网络·php
W23035765735 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090015 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳5 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...6 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102166 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
wjs20248 小时前
JavaScript 语句
开发语言
cmpxr_9 小时前
【C】局部变量和全局变量及同名情况
c语言·开发语言