我创建了一个“qrc”资源文件
<RCC>
<qresource prefix="/pictures">
<file>cards/2_of_clubs.png</file>
<file>cards/2_of_diamonds.png</file>
<file>cards/2_of_hearts.png</file>
<file>cards/2_of_spades.png</file>
</qresource>
</RCC>
文件是名为“cards”的地图中的所有图片。 我他们创建一个imageObject并尝试从资源加载其中一个图片,但它不加载。 (如果我写直接路径就行了)
QImage imageObject;
imageObject.load(":/pictures/cards/2_of_spades.png");
ui->label->setPixmap(QPixmap::fromImage(imageObject));
我显然做错了什么。请帮助:)
答案 0 :(得分:1)
您必须使用qrc
作为Qt
中任何基于资源的路径的前缀:
imageObject.load("qrc:/pictures/cards/2_of_spades.png");
答案 1 :(得分:0)
我认为您的代码或qrc文件没有任何问题。所以我的想法是,你的配置可能没有设置来处理文件。
创建qrc文件后,必须确保在文件上运行“rcc.exe”。这将生成一个qrc_yourqrcfile.cpp文件,该文件必须包含在您的项目中。
如果您正在使用视觉工作室并拥有Qt Visual Studios插件,那么当您将qrc文件添加到项目时,这一切都应该为您处理。我说'应该',因为偶尔它不会起作用。如果你正在使用VS和插件,那么尝试从项目中删除qrc文件并重新添加它。
如果你正在使用QMake,那么你的pri文件应该包含一个“RESOURCES”部分,你需要列出你的qrc文件:
RESOURCES + = yourqrcfile.qrc
然后QMake将自动处理所有rcc。
我希望有所帮助。