【QT】Windows下在VS-Code将本地图片加载至资源文件(亲测可用)

目录

背景:

1)开发环境

2)问题描述

3)问题原因

解决步骤

1、vs-code-resource资源文件中添加本地图片

2、修改【resource.qrc】文件


背景:

1)开发环境:

windows + vs-code + qt

2)问题描述:

想添加一张本地图片至项目中使用,只将图片复制到相应文件夹后,项目内可以看到文件(如图1),但是项目实际运行后,图片是空白的,读不出来(如图2),修改好后的情况如图3所示。

(图1)

 (图2)

 (图3)

3)问题原因:

vs-code添加资源图片的方式与qt不同(博主以前用qt开发,直接右键->添加现有文件->选择本地图片,即可,很方便),不仅需要添加图片至相应文件夹,还需要在resource.qrc中添加相应代码(qt是自动添加)。

解决步骤

1、vs-code-resource资源文件中添加本地图片

可以直接将相应的图片文件复制到对应的文件夹内,博主以这个图标为例,直接复制到图片对应的文件夹内。(文件夹具体路径看各自的项目情况) 

此时在项目中直接使用这张图是显示不出来的,博主是在一个控件内添加这张图,代码如下:

pixmap.load(":/resources/imgs/mainwin/recordwin/detailswin/a-test.png");

注:代码的具体使用我们这里不做讨论,因为图片的使用方式太多了。

不过运行后按钮控件部分是空的

2、修改【resource.qrc】文件,添加图片文件别名

resource.qrc文件位置:在resource文件夹内,如箭头2所示,刚才的图片是添加在了imgs文件夹内

打开resource.qrc,并在对应文件夹下位置添加下列代码

<file alias="a-test.png">imgs/mainwin/recordwin/detailswin/a-test.png</file>

此句代码的意思是:引用a-test,png资源,类似起个别名

 修改后重新编译效果如下,可以显示按钮控件的图片了:

#END

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
您可以使用Qt的资源系统将资源文件中的图片加载到地文件夹。首将图片添加到Qt源文件(.qrc)中,然后使用QFile和QResource类来实现和保存。 以下是一个示例,演示了如何从资源文件加载图片并保存到本地文件夹: ```cpp #include <QFile> #include <QResource> #include <QPixmap> bool loadAndSaveImageFromResource(const QString& resourcePath, const QString& savePath) { // 加载源文件 QFile resourceFile(resourcePath); if (!resourceFile.open(QIODevice::ReadOnly)) { // 处理加载失败的情况 return false; } // 读取资源文件内容 QByteArray imageData = resourceFile.readAll(); resourceFile.close(); // 保存为本地文件 QFile saveFile(savePath); if (!saveFile.open(QIODevice::WriteOnly)) { // 处理保存失败的情况 return false; } // 写入文件内容 saveFile.write(imageData); saveFile.close(); return true; } ``` 在上述代码中,`resourcePath` 是资源文件图片的路径(例如 ":/images/example.png"),`savePath` 是要保存图片的本地文件夹路径(例如 "C:/MyImages/example.png")。 您可以调用 `loadAndSaveImageFromResource()` 函数来加载和保存图片。如果函数返回 `true`,则表示成功保存图片到本地文件夹。 请注意,加载源文件的路径需要使用 `:/` 前缀来指定。同时,确保在编译过程中将资源文件包含在生成的可执行文件中。 希望这可以帮助您加载源文件中的图片到本地文件夹。如果有任何问题,请随时向我提问!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wyn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值