Qt / C ++:当程序在Kubuntu中运行时,图标不显示

时间:2013-01-26 15:42:11

标签: c++ qt qicon

我做了我需要做的一切:

  1. 在资源文件中添加了一个图标
  2. 在主文件中初始化资源:Q_INIT_RESOURCE(images);
  3. 设置图标:ui->action_New->setIcon(QIcon(":/images/about_me.png"));
  4. 但在编译和运行我的应用程序时仍然无法看到图像(我使用的是Kubuntu 12.04和Qt 4.8.1)。这是一个小测试项目:http://www27.zippyshare.com/v/45362924/file.html。怎么了?怎么解决?

1 个答案:

答案 0 :(得分:1)

注意alias文件中的.qrc位。

我更喜欢设置<qresource prefix="/">以保持简单。

<RCC>
   <qresource prefix="/">
      <file alias="about me">images/about_me.png</file>
      <file alias="BSD License">otherfiles/LICENSE.txt</file>
      ... 
   </qresource>
</RCC>

这样您就不必费心记住使用资源的完整路径

ui->action_New->setIcon(QIcon(":/about me"));    
this->setWindowIcon(QIcon(":/about me"));
...

QFile lfile (":/BSD License");
if(lfile.open(QIODevice::ReadOnly){
  ...
}

注意:我并不是说在别名中使用空格是一个好主意或坏主意,但它肯定有效。