【发布时间】:2012-12-13 01:28:15
【问题描述】:
我有一个 Qt5 桌面项目,我使用 Qt Creator 编辑器添加了一个“resource.qrc”文件,该编辑器在项目的 .pro 文件中创建了以下行:
RESOURCES = resource.qrc
我放了一个空白前缀和一个 png 文件 (14x14),我尝试像这样使用它:
QPixmap pixmap = QPixmap ("://my_image.png");
ui->combobox->addItem(QIcon(pixmap), "itemname");
问题是:图标不会出现!
以下作品:
QPixmap pixmap(14,14);
pixmap.fill(QColor("red"));
ui->combobox->addItem(QIcon(pixmap), "itemname");
所以问题一定出在资源嵌入过程中..我注意到生成的“exe”里面没有资源部分...我没有静态链接的外部库,所以我不认为我需要 Q_INIT_RESOURCE(resource) 宏(它给了我未定义的外部)
更新: 我在这里发布我的 qrc 文件:
<RCC>
<qresource prefix="/">
<file>my_image.png</file>
</qresource>
</RCC>
这很简单,我不明白为什么在运行时图标不显示
【问题讨论】:
-
Qt 资源没有使用 Windows exe 资源机制,所以它们不出现在那里是正常的。请发布您的 resource.qrc 文件。另外,请注意,您可以直接在 QIcon 中加载图像。无需通过 QPixmap。尝试简单:
ui->combobox->addItem(QIcon(":/my_image.png"), "itemname");