Форум сайта python.su
В qt designer картинка установлена посредством свойства styleSheet одного из виджетов.
Соответственно создан и файл ресурса.
В дизайнере картинка отображается.
Но когда я загружаю форму в свою программу посредством loadUi, картинки нет!
В чём может быть проблема? Куда смотреть, на что обратить внимание?
Офлайн
Ресурсу подключил?
Офлайн
Ресурс дополнительно нужно подключать в тексте моей программы?
Какой командой это делается, если не секрет?
Офлайн
Сначала транслируешь ресурсы в модуль:
# 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
Офлайн
Спасибо, попробую.
Как-то это всё не удобно. Зачем qt designer позволяет создать файл-ресурс, если он потом автоматически не подключается в программе? Чтобы смотреть на картинки из ресурса исключительно в самом дизайнере?
Офлайн
PlutoВы забываете, что ни одно питонячье решение не является родным для платформы qt.
Спасибо, попробую.Как-то это всё не удобно. Зачем qt designer позволяет создать файл-ресурс, если он потом автоматически не подключается в программе? Чтобы смотреть на картинки из ресурса исключительно в самом дизайнере?
Офлайн
Создал resurs.py
Попытался сделать его import, получил:
TypeError:qRigisterResurce…(int, str, str, str): argument 2 has unexpected type ‘str’
Офлайн
Короче просто в коде своей программы после loadUi добавил sf.myWidget.setStyleSheet(“image:url(picture.jpg)”)
Только тогда она и появилась.
Офлайн
А проблема-то, оказывается вот в чём:
Если в qt designer для нужного виджета в строке для stylesheet
image:url(:mypicture.jpg)
убрать двоеточие, то картинка отобразится при запуске моей программы без всяких лишних телодвижений (хватит одного loadUi)
Но зато в дизайнере она пропадёт!
И, соответственно, наоборот: оставишь двоеточие в дизайнере, картинка отобразится в нём, но не отобразится в программе.
Как весело жить.
Офлайн