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"));

最后看下效果

发布了17 篇原创文章 · 获赞 8 · 访问量 2639

猜你喜欢

转载自blog.csdn.net/qq_39295354/article/details/104018523