ubuntu基于cmakelist的Qt工程,如何将图片打包进二进制程序

qt界面使用的图片打包进入二进制可执行程序,可以避免发布的软件,因为路径问题无法加载图片的问题。

以下步骤参考自百度AI.

步骤如下:

1.创建一个新的Qt资源文件(.qrc文件)

2.在*.qrc文件中添加图片路径

qrc文件使用open with下的plain text editor打开。

打开后会包含红框内容,我是删掉之后程序才可以运行。或者直接复制下面内容给,然后替换文件路径。

复制代码
<!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中文件名与程序中文件名一致。

注意图片存放的地址,要不然会报如下问题。

相关推荐
数据知道4 小时前
PostgreSQL 故障排查:万字详解如何找出数据库中的死锁
数据库·postgresql
AI_56784 小时前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
choke2334 小时前
软件测试任务测试
服务器·数据库·sqlserver
龙山云仓4 小时前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
IT邦德4 小时前
OEL9.7 安装 Oracle 26ai RAC
数据库·oracle
yyy的学习记录4 小时前
Ubuntu下urdf模型转换成proto模型
linux·运维·ubuntu
xixingzhe24 小时前
ubuntu安装gitlab
linux·ubuntu·gitlab
无小道4 小时前
Qt——网络编程
开发语言·qt
jianghua0014 小时前
Django视图与URLs路由详解
数据库·django·sqlite
那我掉的头发算什么4 小时前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis