qt界面使用的图片打包进入二进制可执行程序,可以避免发布的软件,因为路径问题无法加载图片的问题。
以下步骤参考自百度AI.
步骤如下:
1.创建一个新的Qt资源文件(.qrc文件)
![](https://i-blog.csdnimg.cn/direct/627e43327fd547baa0619fe91cd88042.png)
2.在*.qrc文件中添加图片路径
![](https://i-blog.csdnimg.cn/direct/bbde546c255a4c419baed4927d4c1c5e.png)
qrc文件使用open with下的plain text editor打开。
![](https://i-blog.csdnimg.cn/direct/87a0e1fc42d14dbf8ae3bde480e482e2.png)
打开后会包含红框内容,我是删掉之后程序才可以运行。或者直接复制下面内容给,然后替换文件路径。
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource prefix="/">
<file>images/myimage.png</file>
<!-- 添加更多图片或其他资源 -->
</qresource>
</RCC>
"images/myimage.png"包含了图片路径及图片名称,可以是相对路径。
3.配置CMakeLists.txt以包含Qt资源
接下来,你需要配置你的CMakeLists.txt
文件来包含这个Qt资源文件。你需要使用qt5_add_resources
命令来将.qrc
文件转换为一个C++源文件,并将其添加到你的项目中。
cmake_minimum_required(VERSION 3.10)
project(MyQtProject)
# 查找Qt5组件
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
# 添加Qt5资源文件
qt5_add_resources(RESOURCES_RCC resources.qrc)
# 添加你的源文件
add_executable(MyQtProject main.cpp ...)
# 将资源文件添加到目标可执行文件中
target_sources(MyQtProject PRIVATE ${RESOURCES_RCC})
# 链接Qt5库
target_link_libraries(MyQtProject Qt5::Core Qt5::Widgets)
4.在Qt代码中使用资源
一旦你的资源被包含在项目中,你就可以在Qt代码中使用它们了。使用:
前缀加上你在.qrc
文件中指定的前缀和文件名来引用资源。例如:
QPixmap pixmap(":/images/myimage.png");
注意qrc中文件名与程序中文件名一致。
注意图片存放的地址,要不然会报如下问题。
![](https://i-blog.csdnimg.cn/direct/10e40649c78849d5b1afe373c43d7782.png)