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);
我翻了一番检查路径,一切都很好...
答
拆分第二线,首先创建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测试。
Qt是否给你提供任何警告,你是否也可以发布真正的路径和'ls -la images/Load.png'的输出?也许您已将工具栏配置为仅显示文本? – 2011-06-02 07:56:15
您确定您使用的视觉样式是否支持菜单图标? – 2011-06-02 09:00:39
您正在使用哪个桌面管理器? – 2013-02-05 14:24:53