Как добавить фотографию в pyqt5 для конвертации в exe формат

Я пользуюсь qt5 графическим редактором для python. Мне нужно добавить фотографию, как background. Но я столкнулся с проблемой при использование обычного label с путём файла, при конвертации файла в exe формат с помощью pyinstaller фото просто нет.

Я помню, что можно это было как-то сделать через qrc, но я пишу код вручную и не знаю, как это правильно можно реализовать. Вот как выглядит строчки на label. +++ это в класс виджета. Ресурс файл есть. Всё в корне.

import resources

pixmap = QPixmap("ZeXsPua_AKU.png")

Ответы (2 шт):

Автор решения: Sergey Tatarincev

Вам надо добавить к проекту файл ресурсов. например resources.qrc

<RCC>
  <qresource prefix="newPrefix">
    <file>picture.png</file>
  </qresource>
</RCC>

который потом надо конвертнуть pyrcc5 -o resources.py resources.qrc и использовать в таком виде

import resources
...
pixmap = QPixmap(":/newPrefix/picture.png")
→ Ссылка
Автор решения: Sergey Tatarincev

В комментах можно долго писать. Для простоты давайте так. простейший пример.

у меня в одном каталоге лежат: test.py, image.png, resources.qrc сама программа test.py

import sys
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication)
from PyQt5.QtGui import QPixmap
import resources

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):      
        hbox = QHBoxLayout(self)
        pixmap = QPixmap(":/newPrefix/image.png")
        lbl = QLabel(self)
        lbl.setPixmap(pixmap)
        hbox.addWidget(lbl)
        self.setLayout(hbox)      
        self.show()        

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

файл ресурсов resources.qrc такого вида:

<RCC>
  <qresource prefix="newPrefix">
    <file>image.png</file>
  </qresource>
</RCC>

для начала запускаем pyrcc5 -o resources.py resources.qrc и получаем в этом же каталоге модуль resources.py

теперь я могу сделать exe и передать на другой комп: pyinstaller --onefile test.py

→ Ссылка