qt qrc 文件名称中文

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt qrc 文件名称中文相关的知识,希望对你有一定的参考价值。

参考技术A Qt的资源文件是以.qrc为后缀名的XML文本格式。
在Qt工程中使用资源文件的话,需要在.pro工程文件加入如下代码
RESOURCES = file.qrc在工程文件中加入这样语句后,qmake系统会自动调用RCC(资源文件编译器)将file.qrc转化成qrc_file.cpp,最后使用gcc进行正常的编译。

Qt qrc 资源文件 - 无法加载图标

【中文标题】Qt qrc 资源文件 - 无法加载图标【英文标题】:Qt qrc resource file - can't load icon 【发布时间】:2012-12-27 17:05:31 【问题描述】:

我有一个 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-&gt;combobox-&gt;addItem(QIcon(":/my_image.png"), "itemname"); 【参考方案1】:

我最近遇到了同样的问题,我的资源字符串格式错误。如果您使用的是当前版本的 Qt Creator,您可以打开您的 .qrc 文件进行编辑,然后右键单击您要处理的资源(在本例中为图像),然后单击“将资源路径复制到剪贴板”。瞧,你每次都有正确的资源字符串。

Qt Creator 很棒。

希望这会有所帮助!

【讨论】:

感谢Copy Resource Path... 这表明我复制了文件夹:/dictionaries/dictionaries/en.dic【参考方案2】:

@Nikos C. 为您提供了有用的建议,但我认为您的主要问题是您没有使用正确的资源链接。

在您的代码中,您有:

QPixmap pixmap = QPixmap ("://my_image.png");

但是,根据documentation,应该是

QPixmap pixmap = QPixmap (":/my_image.png");

或者您可以为您的资源指定别名,然后使用这些别名。

【讨论】:

【参考方案3】:

问题解决是使用 rcc.exe C:\root\QT>c:\root\QT\4.7.4\bin\rcc.exe Headless.qrc -o qtresources.cpp 在编译期间,路径中应该有图像。 创建 qtresources.cpp 文件,将此文件包含在 makefile 或项目中。您应该可以看到图像。

【讨论】:

以上是关于qt qrc 文件名称中文的主要内容,如果未能解决你的问题,请参考以下文章

为啥多个文件可以在 Qt .qrc 中使用相同的别名?

Qt qrc 资源文件 - 无法加载图标

如何获取存储在 .qrc Qt 资源文件中的文件列表?

无法在 Qt C++ 程序中加载 qrc 文件

当我尝试播放不在 qrc 中的媒体文件时,出现错误“尝试播放无效的 Qt 资源”

Qt on Android 资源文件系统qrc与assets