Qt学习6——添加图片资源文件

本文介绍了如何使用Qt创建新的项目,添加资源文件,导入图片,并在主窗口中设置图标,包括使用QMenu,actionnew,QtResourceFile以及相关操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建项目后
在这里插入图片描述
注:上述文件状态下新建的toolbar必须先用英文,然后再text修改自己希望的文字
设计界面简单布局
在这里插入图片描述
我的Qmenu中“新建”的名字为“actionnew”
在这里插入图片描述
右键项目,点击Add New
在这里插入图片描述
选择Qt Resource File
在这里插入图片描述
命名
在这里插入图片描述
点击Add Prefix新建一个菜单
在这里插入图片描述
把图片文件夹copy到改目录下
在这里插入图片描述
然后点击open in editor回到资源界面
在这里插入图片描述
点击Add Files
在这里插入图片描述
选中图片
在这里插入图片描述
添加后编译一下
在这里插入图片描述
就会有该目录了
在这里插入图片描述
然后在mainwindows中添加代码
在这里插入图片描述

ui->actionnew->setIcon(QIcon(":/new/prefix1/image/1.jpg"));

注:actionnew是自己设置的名字,前面有介绍
文件路径建议右击左侧文件的图片文件夹后复制路径
在这里插入图片描述

### Qt 中 QRC 资源文件图片不显示的解决方案 在处理 Qt 的 QRC 资源文件时,如果遇到图片资源无法正常加载的情况,可以按照以下方法逐一排查并解决问题。 #### 1. 检查 `GeneratedFiles` 文件夹中的 `.cpp` 文件 确认项目生成的中间文件是否存在对应的资源定义。具体操作为检查 `GeneratedFiles` 文件夹下的 `qrc_xxx.cpp` 文件,验证其中是否包含了新增加的图片资源[^1]。如果没有更新,则可能是资源未正确编译到项目中。 #### 2. 验证 QRC 文件配置属性 确保项目的构建设置正确无误。需特别关注命令行输出以及附加依赖项等参数是否按预期配置完成。通过调整这些选项后重新编译整个项目来同步最新的资源更改。 #### 3. 使用 RCC 工具转换资源文件 尝试将 `.qrc` 文件转化为二进制形式以排除可能存在的解析问题。执行如下命令可实现该目的: ```bash rcc -binary YourResourceFile.qrc -o OutputBinaryFile.rcc ``` 上述过程有助于检测是否有潜在错误存在于原始`.qrc`描述之中,并能进一步简化调试流程[^2]。 #### 4. 设置 Visual Studio 打开方式 (针对 VS 用户) 对于使用 Microsoft Visual Studio 开发环境的情形下,若发现其内置工具无法识别或编辑`.qrc`类型的文档,则应手动指定关联的应用程序——即位于Qt插件安装路径内的专用编辑器(`qrceditor.exe`)。步骤包括但不限于:右键菜单->选择“打开方式…” -> 添加自定义应用程序位置至对话框内填写相应地址[^3]。 #### 5. 清理残留旧版数据影响 当某些资源已被移除但仍引发链接失败等问题时,这通常意味着本地缓存或者临时产物保留了过期的信息。因此建议彻底清除所有已有的对象文件后再做一次完整的重建动作;此外还可以考虑清理IDE内部的工作区状态以便获得更干净的操作环境[^5]。 综上所述,以上措施能够有效应对大多数情况下由于资源配置不当所引起的图像丢失现象。实际应用过程中可根据具体情况灵活选用适合的方法组合来进行修复工作。 ```python import sys from PyQt5.QtWidgets import QApplication, QLabel from PyQt5.QtGui import QPixmap app = QApplication(sys.argv) label = QLabel() pixmap = QPixmap(":/path/to/your/image.png") if pixmap.isNull(): print("Image failed to load.") else: label.setPixmap(pixmap) label.show() sys.exit(app.exec_()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值