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一下",可以解决很多问题。

相关推荐
泡泡鱼(敲代码中)1 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
老赵的博客2 小时前
c++面试之从虚函数表到Rtti一次性讲清楚
c++·qt
潜创微科技2 小时前
IT6520:USB-C 转 MIPI 高集成控制器,DP 1.4a 转 MIPI 单芯片搞定 4K120 显示
c语言·开发语言·低延迟·掌机·联阳
Escalating_xu3 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊3 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
cvby3 小时前
C++11
开发语言·c++
ch.ju4 小时前
Java—idea知识:如何创建新项目
java·开发语言·intellij-idea
Evand J4 小时前
【MATLAB例程,图像滤波降噪12】加权中值滑动窗口滤波(WMF)图像降噪,包含滤波质量评价。附代码下载链接
开发语言·图像处理·人工智能·计算机视觉·matlab·滑动窗口·滤波
Tairitsu_H4 小时前
[C++] C++11类和STL的新特性
开发语言·c++·stl·c++11
承渊政道5 小时前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序