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

Qt/C++: Icons not showing up when program is running in Kubuntu

本文关键字:运行时 图标 显示 Kubuntu C++ 程序 Qt      更新时间:2023-10-16

我做了我需要做的一切:

  1. 向资源文件添加了图标
  2. 主文件中初始化的资源:Q_INIT_RESOURCE(images);
  3. 设置图标:ui->action_New->setIcon(QIcon(":/images/about_me.png"));

但是当我编译和运行我的应用程序时仍然看不到图像(我使用 Kubuntu 12.04 和 Qt 4.8.1)。这里有一个小测试项目:http://www27.zippyshare.com/v/45362924/file.html。出了什么问题以及如何解决?

注意.qrc文件中的alias位。

我更喜欢设置<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){
  ...
}

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