QT动态加载.dll , .rcc二进制图片文件

1. 首先新建一个资源文件,在资源文件中添加图片

点击小锤子编译就会生成一个.qrc的资源文件

<RCC>
    <qresource prefix="/">
        <file>icon/ad19.ico</file>
        <file>icon/chrome.ico</file>
        <file>icon/format.ico</file>
        <file>icon/python.ico</file>
        <file>icon/qt.ico</file>
        <file>icon/Spider.ico</file>
    </qresource>
</RCC>

打开QT的DOS窗口,切换到.qrc文件路径下

输入

rcc -binary myimages.qrc -o myimages.rcc

生成二进制文件.rcc

 如图,将.rcc文件拷贝到.exe路径下

在头文件中包含

#include <QResource>

在构造函数中加入

    ui->setupUi(this);
    if(QResource::registerResource(qApp->applicationDirPath() + "/myimages.rcc"))
    {
        qDebug() << "success";
    }
    this->setWindowIcon(QIcon(":/icon/chrome.ico"));

ok,这样应用图片就完成了动态修改,其他图片也是一样

虽然.rcc文件也是二进制文件,但是毕竟没有.dll文件好看,这里只需手动修改.rcc为.dll即可

在程序中同样要修改一下

    if(QResource::registerResource(qApp->applicationDirPath() + "/myimages.dll"))
    {
        qDebug() << "success";
    }
    this->setWindowIcon(QIcon(":/icon/chrome.ico"));

最后看下效果

在Python中,将图片添加Qt项目的资源文件并转换成二进制代码文件通常涉及到以下几个步骤: 1. **准备图片**: 首先,你需要有一个图片文件(比如 `.png`、`.jpg`等)。将其保存在你的项目目录下。 2. **集成资源**: 在Qt项目的`resources`文件夹下创建一个新的文件夹,如`images`,然后把图片复制进去。这是为了让Qt能够自动查找资源。 3. **添加到`.qrc`文件**: 打开`*.pro`配置文件,在底部的`RESOURCES`部分,手动或者通过文本编辑器添加对新创建的图像资源的引用,例如: ```pro # 如果没有.qrc文件,则需要新建一个,例如: RESOURCES += images/image.png ``` 4. **生成资源库**: 使用Qt的资源管理工具,如`rcc`(Resource Compiler),将包含资源信息的`.qrc`文件编译为二进制资源库。在命令行中运行类似这样的命令(假设你的.pro文件名为`myapp.pro`): ``` qmake myapp.pro mingw32-make -r myapp.pro resources ``` 5. **获取二进制数据**: 编译完成后会在指定目录下生成一个`.qm`或`.rc`格式的资源文件,它包含了图片二进制数据。你可以通过编程语言读取这个文件获取图片数据。在Python中可以使用`pyrcc4`工具或`QByteArray`从`.rc`文件加载: ```python import pyrcc4 with open('path_to_your_rc_file', 'rb') as file: binary_data = file.read() ``` 或者直接在Qt代码中这样做: ```cpp QByteArray imageData = qGetResource(QStringLiteral("image.png")); ``` 6. **使用资源数据**: 现在你有了图片二进制数据,可以在程序中使用`QImage`或Qt的其他图形处理函数将其加载显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值