QIcon не отображается в Ubuntu, работает в Windows - PullRequest
1 голос
/ 02 июня 2011

Привет! У меня проблема с несколькими приложениями, которые были разработаны на компьютере с Windows.Когда я создаю одни и те же приложения в Ubuntu и запускаю их, в строке меню «Файл» не отображаются значки.Отлично работает в окнах.Любое предложение

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

Я дважды проверил путь, все хорошо ...

Ответы [ 3 ]

1 голос
/ 05 февраля 2013

Установить глобальный атрибут AA_DontShowIconsInMenus объекта приложения Qt равным false, используя

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

Другой вариант - включить значки меню для отдельных QActions с помощью QAction :: setIconVisibleInMenu .

0 голосов
/ 05 февраля 2013

Пути чувствительны к регистру на компьютерах Linux.Вы уверены, что у вас нет расширения файла в верхнем регистре?

Windows будет более щадящим.

Шагом после этого будет вывод пути к окну отладки и выполнение QFile:: существует тест на него.

0 голосов
/ 02 июня 2011

разделите эту вторую строку, сначала создайте QIcon, затем используйте bool QIcon :: isNull () const -method, чтобы проверить, загружен ли значок, и, наконец, установите значок.Если не удается загрузить файл из этого файла, попробуйте сначала создать путь

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

и проверьте правильность этого пути

Также помните, что для некоторых форматов изображений вам нужны плагиныpng будет работать без них, только если вы используете другие форматы, такие как jpg, svg)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...