QIcon未在Ubuntu上显示,在Windows上工作

问题描述:

嗨 我在Windows机器上开发的多个应用程序中遇到问题。当我在Ubuntu上构建相同的应用程序并运行它们时,单独的文件菜单栏中不会显示任何图标。 在windows中完美工作。任何建议QIcon未在Ubuntu上显示,在Windows上工作

LoadAction = new QAction(tr("&Open file"), this); 
LoadAction->setIcon(QIcon(Dir +"/images/Load.png")); 
LoadAction->setShortcut(QKeySequence::Open); 

我翻了一番检查路径,一切都很好...

+0

Qt是否给你提供任何警告,你是否也可以发布真正的路径和'ls -la images/Load.png'的输出?也许您已将工具栏配置为仅显示文本? – 2011-06-02 07:56:15

+0

您确定您使用的视觉样式是否支持菜单图标? – 2011-06-02 09:00:39

+0

您正在使用哪个桌面管理器? – 2013-02-05 14:24:53

拆分第二线,首先创建QIcon,然后用 布尔QIcon :: ISNULL()const的 - 方法来检查如果图标是loadede 并最终设置图标。 如果不能从该文件加载,然后尝试创建路径优先

QString path=Dir+"/images/Load.png"; 

,并检查这条道路是正确的

还记得一些图像格式,你需要的插件(但PNG将工作如果没有这些,只是如果你使用其他格式,如JPG,SVG)

将Qt应用程序对象的AA_DontShowIconsInMenus全局属性使用是假

application.setAttribute(Qt::AA_DontShowIconsInMenus, false); 

另一个选项是使用QAction::setIconVisibleInMenu启用单个QActions的菜单图标。

+0

谢谢,那帮了我。 – prdatur 2013-05-17 21:39:00

Linux计算机上的路径是大小写敏感的。你确定你没有大写文件扩展名吗?

Windows会更宽容。

之后的步骤将输出到调试窗口的路径,并对其执行QFile :: exists测试。