QIcon没有在Ubuntu上显示,适用于Windows

时间:2011-06-02 07:53:11

标签: debugging qt

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

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

我加倍检查路径,一切都很好......

3 个答案:

答案 0 :(得分:1)

使用

将Qt应用程序对象的AA_DontShowIconsInMenus全局属性设置为false
application.setAttribute(Qt::AA_DontShowIconsInMenus, false);

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

答案 1 :(得分:0)

拆分第二行,首先创建QIcon,然后使用 bool QIcon :: isNull()const -method来检查Icon是否是loadede 最后设置图标。 如果无法从该文件加载,请尝试先创建路径

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

并检查该路径是否正确

还要记住,对于某些图像格式,您需要插件(但是如果您使用其他格式,例如jpg,svg,png将在没有插件的情况下工作)

答案 2 :(得分:0)

路径在Linux计算机上具有一定的敏感性。您确定没有大写文件扩展名吗?

Windows会更宽容。

之后的步骤是输出调试窗口的路径并对其进行QFile :: exists测试。