Qt .qrc文件

资源文件

The Qt resource system is a platform-independent mechanism for storing binary files in the application's executable. This is useful if your application always needs a certain set of files (icons, translation files, etc.) and you don't want to run the risk of losing the files.

这句话讲的非常明确,Qt资源文件是一个与平台无关的方法讲二进制文件保存到可执行程序内。对于你的应用程序常常需要一些文件(比如图像文件,译文等),并且你不希望这些文件有丢失的危险,使用Qt资源文件是非常有用的。


 

1、将图像资源等都包含在一个文件夹中,如images

在QtCreater中创建qrc文件的方法:

       添加新文件—Qt—Qt资源文件

在资源文件中添加前缀、文件等


2、在工程文件*.pro中添加行:

RESOURCES += application.qrc


3、在main函数中强制初始化资源Q_INIT_RESOURCE(application);如:


int main(int argc, char *argv[])

{

    Q_INIT_RESOURCE(application);

    //资源定义宏

    ...


}

4、使用

QSplashScreen *splash=new QSplashScreen;

    splash->setPixmap(QPixmap(QString(":/images/splash.jpg")).scaled(deskRect.size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
	splash->show();



在windows下的问题:png图片打不开,jpg和bmp都可以

解决办法:在引用的时候去掉:后的“/”,

    top.load(":images/jiaSu.png");





03-31
### QT 中 `.qrc` 文件的用途 `.qrc` 文件是一种资源文件,用于将图像、图标和其他静态数据嵌入到 Qt 应用程序中。通过这种方式,开发者可以将这些资源打包到应用程序内部,而无需依赖外部文件系统中的路径[^1]。 当定义了一个 `.qrc` 资源文件后,可以通过 `QResource` 或者其他 Qt 提供的方式访问其中的内容。这种机制使得应用程序更加独立于运行环境,并简化了部署过程。例如,在 QML 类型中,如果需要加载预处理过的片段着色器包(通常扩展名为 `.qsb`),则可以通过 `.qrc` 方案来指定其位置。 为了支持 `.qrc` 的功能,开发人员可能还需要安装一些必要的工具库。对于 Python 开发者来说,这通常涉及 PyQt 和 lxml 等组件的安装。以下是针对不同操作系统的具体命令: - 对于基于 Linux 的发行版,可执行以下命令完成所需软件包的安装: ```bash sudo apt-get install pyqt4-dev-tools sudo pip install lxml ``` - 如果是在 macOS 上工作,则可通过 Homebrew 完成相应版本的 Qt 及相关依赖项的安装: ```bash brew install qt qt4 brew install libxml2 ``` 上述步骤有助于确保开发环境中具备创建和管理 `.qrc` 文件的能力[^2][^3]. 下面是一个简单的例子展示如何在代码里利用 `.qrc` 文件内的资源: ```python from PyQt5.QtCore import QFile, QTextStream def load_resource_from_qrc(file_path_in_qrc): file = QFile(file_path_in_qrc) if not file.open(QFile.ReadOnly | QFile.Text): raise FileNotFoundError(f"Cannot open {file_path_in_qrc}: {file.errorString()}") stream = QTextStream(file) content = stream.readAll() return content ``` 此函数尝试打开并读取位于 `.qrc` 文件中的某个特定条目内容。注意这里假设已经正确配置好了项目的资源体系结构[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值