您好 我在多个应用程序中遇到问题,这些应用程序都是在Windows机器上开发的。当我在Ubuntu上构建相同的应用程序并运行它们时,单独的文件菜单栏上不会显示任何图标。 在windows中完美运行。任何建议
LoadAction = new QAction(tr("&Open file"), this);
LoadAction->setIcon(QIcon(Dir +"/images/Load.png"));
LoadAction->setShortcut(QKeySequence::Open);
我加倍检查路径,一切都很好......
答案 0 :(得分:1)
使用
将Qt应用程序对象的AA_DontShowIconsInMenus全局属性设置为falseapplication.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测试。