Joh*_*ing 12 c++ icons qt qt5 qicon
我有一个Qt5桌面项目,我在Qt Creator编辑器中添加了一个"resource.qrc"文件,该文件在项目的.pro文件中创建了以下行:
RESOURCES = resource.qrc
Run Code Online (Sandbox Code Playgroud)
我放了一个空白前缀和一个png文件(14x14),我试着像这样使用它:
QPixmap pixmap = QPixmap ("://my_image.png");
ui->combobox->addItem(QIcon(pixmap), "itemname");
Run Code Online (Sandbox Code Playgroud)
问题是:图标不会出现!
以下作品:
QPixmap pixmap(14,14);
pixmap.fill(QColor("red"));
ui->combobox->addItem(QIcon(pixmap), "itemname");
Run Code Online (Sandbox Code Playgroud)
所以问题必须在资源嵌入过程中..我注意到生成的"exe"里面没有资源部分...我没有静态链接的外部库,所以我认为我不需要Q_INIT_RESOURCE(资源)宏(它给我未定义的外部)
更新:我在这里发布我的qrc文件:
<RCC>
<qresource prefix="/">
<file>my_image.png</file>
</qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)
它非常简单,我不明白为什么在运行时图标没有出现
Ter*_*its 23
我最近遇到了同样的问题,我的资源字符串格式错误.如果您使用的是当前版本的Qt Creator,则可以打开.qrc文件进行编辑,然后右键单击要尝试解决的资源(在本例中为图像),然后单击"将资源路径复制到剪贴板".瞧,每次都有正确的资源字符串.
Qt Creator太棒了.
希望这可以帮助!
tro*_*ane 12
@Nikos C.为您提供了有用的建议,但我认为您的主要问题是您没有使用正确的资源链接.
在您的代码中,您有:
QPixmap pixmap = QPixmap ("://my_image.png");
Run Code Online (Sandbox Code Playgroud)
但是,根据文件,它应该是
QPixmap pixmap = QPixmap (":/my_image.png");
Run Code Online (Sandbox Code Playgroud)
或者您可以为您的资源提供别名,并使用它们.
| 归档时间: |
|
| 查看次数: |
30622 次 |
| 最近记录: |