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

相关推荐
星空椰5 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
白露与泡影5 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特5 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃6 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
喵星人工作室7 小时前
C++火影忍者1.1.2
开发语言·c++
basketball6167 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
月亮邮递员6167 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI7 小时前
php中的类与对象以及反序列化
linux·开发语言·php
曹牧7 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
代码中介商7 小时前
深入解析STL中的stack、queue与priority_queue
开发语言·c++