Qt不在Linux上显示PNG图像

时间:2010-06-06 09:31:10

标签: c++ windows linux qt image

我有一个使用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上试过),图像不会显示。

我需要做些什么特别的工作吗?这是配置问题吗?

谢谢。

3 个答案:

答案 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图像(工具栏按钮,启动窗口等)。