Russian Qt Forum
Ноябрь 27, 2024, 17:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Ресурсы иконок не отображаются в линуксе  (Прочитано 11526 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #15 : Декабрь 07, 2011, 16:35 »

вот данный фрагмент кода в виндовсе работает, в линуксе нет:
Код:
QImage  leftBootImage(":/boot_left_small.png");
QImage  rightBootImage(":/boot_right_small.png");

QSectionBoot::QSectionBoot(bool Init, QGraphicsItem *parent)
    :QRailItem(Init, parent)
{
    fshowBoot = true;
    fbootImage = &leftBootImage;
}

пришлось принудительно делать load(":/boot_left_small.png") и load(":/boot_right_small.png")
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #16 : Декабрь 07, 2011, 16:41 »

вот данный фрагмент кода в виндовсе работает, в линуксе нет:
Код:
QImage  leftBootImage(":/boot_left_small.png");
QImage  rightBootImage(":/boot_right_small.png");
пришлось принудительно делать load(":/boot_left_small.png") и load(":/boot_right_small.png")
А кто вам сказал, что это вообще должно работать так как нужно? И почему Qt-resource-managemet-system должна была проинициализироваться раньше чем leftBootImage или rightBootImage Непонимающий

Вывод: порядок статической инициализации неопределённый.
« Последнее редактирование: Декабрь 07, 2011, 16:47 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #17 : Декабрь 07, 2011, 16:42 »

Мде. Вот так либастрал засбоил, а ошибка-то вон она где. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #18 : Декабрь 07, 2011, 16:49 »

ок, а как сделать так, что бы обращаться к глобальным ресурсам?
т.е. есть объект на сцене, он может отображать картинку, всего может принимать два значения и соотвественно рисовать или одну картинку или другую.
таких объектов на сцене может быть сколь угодно много.
и я решил, что нет резона хранить в каждом объекте копию картинки, а хранить только указатель на нее.
но походу не сработало...
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #19 : Декабрь 07, 2011, 16:53 »

Где-нибудь в конструкторе сделай:
Код
C++ (Qt)
if( leftBootImage.isNull() )
  leftBootImage.load(":/boot_left_small.png");
 
Записан

Qt 5.11/4.8.7 (X11/Win)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #20 : Декабрь 07, 2011, 17:13 »

Код:
QAction     *   action = contextMenu.addAction(QIcon(":/resources/icons/boot.png"),trUtf8("Башмаки"),this,SLOT(requestForShowBootForSection()));
В винде рисуется как надо, в линуксе в меню ничего не отображается, только текст.
вот фрагмент файла ресурсов
Код:
<RCC>
    <qresource prefix="/">
        <file alias="agree.png">resources/icons/agree.png</file>
        <file alias="align_bottom.png">resources/icons/align_bottom.png</file>
        <file alias="align_center.png">resources/icons/align_center.png</file>
        <file alias="align_left.png">resources/icons/align_left.png</file>
        <file alias="align_middle.png">resources/icons/align_middle.png</file>
        <file alias="align_right.png">resources/icons/align_right.png</file>
        <file alias="align_top.png">resources/icons/align_top.png</file>
        <file alias="anchor.png">resources/icons/anchor.png</file>
        <file alias="anchor_after.png">resources/icons/anchor_after.png</file>
        <file alias="anchor_before.png">resources/icons/anchor_before.png</file>
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #21 : Декабрь 07, 2011, 18:12 »

Показывай как инициализишь ресурсы.
Записан

Qt 5.11/4.8.7 (X11/Win)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #22 : Декабрь 08, 2011, 11:23 »

в смысле их еще надо вручную инициализировать?
я думал что будет достаточно сделать QIcon(":/resource/name.png")
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #23 : Декабрь 08, 2011, 12:37 »

в смысле их еще надо вручную инициализировать?
я думал что будет достаточно сделать QIcon(":/resource/name.png")
На самом деле да, должно хватить этого. Инициализить их нужно через Q_INIT_RESOURCE, если qrc_*.o* линкуется с библиотекой.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.071 секунд. Запросов: 23.