Pluto
Июнь 24, 2017 14:25:51
В qt designer картинка установлена посредством свойства styleSheet одного из виджетов.
Соответственно создан и файл ресурса.
В дизайнере картинка отображается.
Но когда я загружаю форму в свою программу посредством loadUi, картинки нет!
В чём может быть проблема? Куда смотреть, на что обратить внимание?
Rodegast
Июнь 24, 2017 14:46:19
Ресурсу подключил?
Pluto
Июнь 24, 2017 15:12:01
Ресурс дополнительно нужно подключать в тексте моей программы?
Какой командой это делается, если не секрет?
Rodegast
Июнь 24, 2017 16:19:31
Сначала транслируешь ресурсы в модуль:
# PySide
pyside-rcc ./resurs.qrc -o ./resurs_rc.py
# PyQt4
pyrcc4 ./resurs.qrc -o ./resurs_rc.py
или
pyrcc5 ./resurs.qrc -o ./resurs_rc.py
А потом импортируешь его:
Pluto
Июнь 24, 2017 16:32:41
Спасибо, попробую.
Как-то это всё не удобно. Зачем qt designer позволяет создать файл-ресурс, если он потом автоматически не подключается в программе? Чтобы смотреть на картинки из ресурса исключительно в самом дизайнере?
FishHook
Июнь 24, 2017 16:55:03
Pluto
Спасибо, попробую.Как-то это всё не удобно. Зачем qt designer позволяет создать файл-ресурс, если он потом автоматически не подключается в программе? Чтобы смотреть на картинки из ресурса исключительно в самом дизайнере?
Вы забываете, что ни одно питонячье решение не является родным для платформы qt.
Pluto
Июнь 25, 2017 09:42:31
Создал resurs.py
Попытался сделать его import, получил:
TypeError:qRigisterResurce…(int, str, str, str): argument 2 has unexpected type ‘str’
Pluto
Июнь 25, 2017 09:56:00
Короче просто в коде своей программы после loadUi добавил sf.myWidget.setStyleSheet(“image:url(picture.jpg)”)
Только тогда она и появилась.
Pluto
Июнь 25, 2017 10:01:46
А проблема-то, оказывается вот в чём:
Если в qt designer для нужного виджета в строке для stylesheet
image:url(:mypicture.jpg)
убрать двоеточие, то картинка отобразится при запуске моей программы без всяких лишних телодвижений (хватит одного loadUi)
Но зато в дизайнере она пропадёт!
И, соответственно, наоборот: оставишь двоеточие в дизайнере, картинка отобразится в нём, но не отобразится в программе.
Как весело жить.