我有一个使用Qt
编写的软件,该软件适用于Windows和Linux。
我使用PNG图像作为嵌入资源的QAction
的图标。
我有以下树目录:
/
resources/
icons.qrc
image.png
以下是icons.qrc
的内容:
<RCC>
<qresource prefix="/resources" lang="fr">
<file alias="image.png">image.png</file>
</qresource>
</RCC>
我声明我的QIcon
:
QIcon(":/resources/image.png")
在Windows下,它运行良好但在Linux上(我到目前为止只在Ubuntu 10.4上试过),图像不会显示。
我需要做些什么特别的工作吗?这是配置问题吗?
谢谢。
答案 0 :(得分:2)
似乎你的代码都没问题。
尝试将此定义添加到您的专业文件中。我不太确定,但我们仍然可以尝试:
QTPLUGIN += qpng
和 mainwindow.cpp
#include <QtPlugin>
Q_IMPORT_PLUGIN(qpng)
答案 1 :(得分:1)
实际上,我发现了什么是错的。
它与在Linux或Windows上无关,这是由于语言环境。
我的Linux系统是英文版,而我的Windows是法文版。由于资源具有lang="fr"
标志,因此非法语操作系统上没有显示任何内容......
一个愚蠢的错误!
答案 2 :(得分:0)
我找到了解决方案。
在windows中==&gt;复制&#34;图像格式&#34; Qt系统文件夹中的文件夹到EXE程序文件夹。
在linux中==&gt;安装libpng包。
然后您将在程序中看到PNG图像。
在ubuntu中,我的程序没有显示PNG图像 我安装了libpng包(libpng16。*:sudo apt-get install libpng16 *), 然后我的程序显示PNG图像(工具栏按钮,启动窗口等)。