我试图通过资源文件将图像插入我的程序,如:
<RCC>
<qresource prefix="/">
<file>green.png</file>
<file>other files</file>
</qresource>
</RCC>
当我尝试使用QImage或QPixmap加载它时,例如:
QImage *green = new QImage(":/green.png");
if(green->isNull()) qDebug("null");
我总是看到空消息,表明我做错了什么。一种解决方案可能是使用绝对路径,如
"C:\\Users\\user\\Documents\\project\\green.png",
当然有效,但我更喜欢使用资源文件来实现它。你能给我一些建议吗?
答案 0 :(得分:4)
如果您的png文件与项目的.pro,.qrc和.cpp文件位于同一文件夹中,则所有这些都可以。
通常,将所有图像放到特殊的子文件夹资源中很方便。然后在.qrc中,该行将如下所示:
<file>Resources/green.png</file>
在.cpp文件中:
QImage *green = new QImage(":/Resources/green.png");
答案 1 :(得分:1)
您是否记得在添加资源文件后运行qmake?
答案 2 :(得分:0)
首先,您需要创建一个.qrc文件并向其中添加图片文件夹
然后转到mainwindow.cpp(在我的项目中)文件,并按以下代码调用图像
ui->play->setIcon(QIcon(":/Playericons/icons8-pause-30.png"));