我使用Qt资源系统载入图像。
但资源集合文件(.qrc)只有20MB
所以,我尝试使用的QImage :: loadFromData载入图片为我的应用程序使用。
但对于资源集合文件(.qrc)我用
QImage image0(":/images/dashboard_n.png");
加载图像。
如何加载与QImage::loadFromData
图像
如何使用相对路径QRC?
我不能编译和更新terminal.qrc。
通常这是常见的把你的image.png文件,你的* .qrc位于例如像这样的目录:
${Project_Resource_Directory}/images/dashboard_n.png
和.qrc文件将被放在这里:
${Project_Resource_Directory}/resources.qrc
您.qrc文件应该是这样的:
<RCC>
<qresource prefix="/">
<file>images/dashboard_n.png</file>
</qresource>
</RCC>
把这个代码在你的.pro文件:
RESOURCES += ${Project_Resource_Directory}/resources.qrc
在您的项目结构,而不是$ {} Project_Resource_Directory更换你的资源目录名称,以便Qt可以检测到您的* .qrc文件,并使用它们RCC编译为C代码
那么你可以在任何使用此您的CPP代码中使用这个地址:
":/images/dashboard_n.png"
下面是一个简单的例子来加载使用loadFromData一个QPixmap的..你可以加载到一个QImage的方式相同,但你必须把它转换反正像素图将其加载到qlabel
QByteArray *temp = new QByteArray();
QFile *file = new QFile("image.png");
file->open(QIODevice::ReadOnly);
*temp = file->readAll();
QPixmap *pix = new QPixmap();
pix->loadFromData(*temp);
label->setPixmap(*pix);