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中文件名与程序中文件名一致。

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

相关推荐
半摆烂日常44 分钟前
自建WMS和买成品:三年成本对比
大数据·服务器·数据库·python·深度学习·低代码·numpy
励志不掉头发的内向程序员1 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
风123456789~1 小时前
【架构专栏】第6章 数据库设计基础知识 1/4
数据库·架构
Nturmoils1 小时前
异构数据同步不只追延迟:用 KFS 守住不停机迁移的每一笔账
数据库
星星落进兜里1 小时前
Redis 内存缓存,面试补充
数据库·redis·面试
waiting9711181 小时前
Ubuntu 26.04 + Android14安装与编译教程
android·linux·ubuntu
棣廷2 小时前
初识MySQL——DQL数据查询语言详解
数据库·mysql
大模型码小白2 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
尘中远2 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent
天涯柳絮2 小时前
SQL注入
数据库·sql·网络安全