Найти - Пользователи
Полная версия: PyQt4+Python3. uic.loadUi - не отображается картинка, которая отображается в qt designer.
Начало » GUI » PyQt4+Python3. uic.loadUi - не отображается картинка, которая отображается в qt designer.
1
Pluto
В qt designer картинка установлена посредством свойства styleSheet одного из виджетов.
Соответственно создан и файл ресурса.

В дизайнере картинка отображается.
Но когда я загружаю форму в свою программу посредством loadUi, картинки нет!

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

Как весело жить.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB