Название: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 01, 2011, 18:34 Столкнулся с такой штукой: в проекте есть файл ресурсов, в котором хранятся иконки.
эти иконки в формате png. Иконки отображаются в кнопках и менюшках. В винде все работает и отображается. В линуксе менюшки и кнопки отображаются без иконок. В чем загвостка? Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Пантер от Декабрь 01, 2011, 19:45 Кьют через менеджер пакетов установлен? Покажи как подгружаешь картинку.
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Aluman от Декабрь 02, 2011, 08:49 Столкнулся с такой штукой: в проекте есть файл ресурсов, в котором хранятся иконки. Попробуй запустить от рута, должны появиться.эти иконки в формате png. Иконки отображаются в кнопках и менюшках. В винде все работает и отображается. В линуксе менюшки и кнопки отображаются без иконок. В чем загвостка? Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Пантер от Декабрь 02, 2011, 09:02 При чем тут рут?
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Aluman от Декабрь 02, 2011, 09:08 При чем тут рут? Если честно без понятия, под linux я пишу редко, но когда-то такое было и под рутом почему-то иконки были ???Если поможет, то будет дополнительная информация к размышлению ;) Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Rem Norton от Декабрь 02, 2011, 10:41 Столкнулся с такой штукой: в проекте есть файл ресурсов, в котором хранятся иконки. Чаще всего в регистре. Дело в том, что если например файл "Image.PNG" лежит в секции "Files", то под виндой обращение ":/Files/image.png" сработает нормально, а вот Линукс файл не найдет.эти иконки в формате png. Иконки отображаются в кнопках и менюшках. В винде все работает и отображается. В линуксе менюшки и кнопки отображаются без иконок. В чем загвостка? Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: GreatSnake от Декабрь 02, 2011, 11:02 Чаще всего в регистре. Дело в том, что если например файл "Image.PNG" лежит в секции "Files", то под виндой обращение ":/Files/image.png" сработает нормально, а вот Линукс файл не найдет. Имхо, такое предположение имеет смысл в случае файловой системы, но никак не ресурсов.Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 02, 2011, 12:12 Иконки находятся в ресурсах. Все имена написаны маленькими буквами. Раньше замечал, что если не указывать расширение, то в винде работало, а в линах нет.
Прописал везде расширения, но ничего не изменилось. Картинок нет вообще никаких. Рерурсы иконок кнопкам присваиваю через интспекор объектов, а менюшкам через QIcon(":/icons/imagexxx.png"); Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 02, 2011, 12:14 да, Qt установлен через менджер пакетов. Ось убунта 11.10 (хотя и до обновления было тоже самое).
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: BuRn от Декабрь 02, 2011, 12:23 а ничего на libpng не гонит ?сообщений Qt никаких не выдает ?
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 02, 2011, 17:39 нет, никаких сообщений в консоли нет...
может смысл пересобрать qt с сорцов? Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: panAlexey от Декабрь 03, 2011, 12:39 может смысл пересобрать qt с сорцов? Обычно помогает.Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Пантер от Декабрь 05, 2011, 09:08 нет, никаких сообщений в консоли нет... Под Линухом не стоит. А в других программах то же самое? Приложишь свой проект сюда, может, в нем ошибка.может смысл пересобрать qt с сорцов? Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 05, 2011, 15:38 В винде все работает, под маком собирал, тоже вроде были, а в линуксе тупо не рисуется. Возможно проблема в png?
Придётся все пережать под другой формат. Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Rem Norton от Декабрь 05, 2011, 17:25 В винде все работает, под маком собирал, тоже вроде были, а в линуксе тупо не рисуется. Возможно проблема в png? у меня 100500 проектов с иконками в png и в Линухе все рисуется. а если учесть, что я не один тут такой, то смело можно предположить, что png тут нипричом. Пантер правильно написал, ибо ставить диагноз не глядя на проект = лечить геморой по фотографии. Или проект представляет из себя страшнейшую военную тайну? ;DПридётся все пережать под другой формат. Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 07, 2011, 16:35 вот данный фрагмент кода в виндовсе работает, в линуксе нет:
Код: QImage leftBootImage(":/boot_left_small.png"); пришлось принудительно делать load(":/boot_left_small.png") и load(":/boot_right_small.png") Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: GreatSnake от Декабрь 07, 2011, 16:41 вот данный фрагмент кода в виндовсе работает, в линуксе нет: А кто вам сказал, что это вообще должно работать так как нужно? И почему Qt-resource-managemet-system должна была проинициализироваться раньше чем leftBootImage или rightBootImage ???Код: QImage leftBootImage(":/boot_left_small.png"); Вывод: порядок статической инициализации неопределённый. Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Пантер от Декабрь 07, 2011, 16:42 Мде. Вот так либастрал засбоил, а ошибка-то вон она где. :)
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 07, 2011, 16:49 ок, а как сделать так, что бы обращаться к глобальным ресурсам?
т.е. есть объект на сцене, он может отображать картинку, всего может принимать два значения и соотвественно рисовать или одну картинку или другую. таких объектов на сцене может быть сколь угодно много. и я решил, что нет резона хранить в каждом объекте копию картинки, а хранить только указатель на нее. но походу не сработало... Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: GreatSnake от Декабрь 07, 2011, 16:53 Где-нибудь в конструкторе сделай:
Код
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 07, 2011, 17:13 Код: QAction * action = contextMenu.addAction(QIcon(":/resources/icons/boot.png"),trUtf8("Башмаки"),this,SLOT(requestForShowBootForSection())); вот фрагмент файла ресурсов Код: <RCC> Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: GreatSnake от Декабрь 07, 2011, 18:12 Показывай как инициализишь ресурсы.
Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: Fregloin от Декабрь 08, 2011, 11:23 в смысле их еще надо вручную инициализировать?
я думал что будет достаточно сделать QIcon(":/resource/name.png") Название: Re: Ресурсы иконок не отображаются в линуксе Отправлено: GreatSnake от Декабрь 08, 2011, 12:37 в смысле их еще надо вручную инициализировать? На самом деле да, должно хватить этого. Инициализить их нужно через Q_INIT_RESOURCE, если qrc_*.o* линкуется с библиотекой.я думал что будет достаточно сделать QIcon(":/resource/name.png") |