аватар question@mail.ru · 01.01.1970 03:00

Как скомпилировать модуль.py в исполняемый файл .exe с картинкой?

У меня скрипт на PyQt5, и в нём присутствуют картинки,
но после компиляции .py в .exe, картинки всё так же отдельно остаются.

Как поместить картинку в скрипт, чтобы скрипт и фото не находились в разных местах?

аватар answer@mail.ru · 01.01.1970 03:00
  1. Создаем файл ресурсов например res_1.qrc

    <RCC>  <qresource prefix=""/"">    <file>images/head.jpg</file>  </qresource></RCC>

    Предполагаем, что картинка head.jpg находится в каталоге images (images/head.jpg)

  2. Загрузить изображение из файла ресурсов:

    Команда преобразования pyrcc5 res_1.qrc -o res_1_rc.py

    Этот способ заключается в том, чтобы преобразовать файл res_1.qrc в файл res_1_rc.py Все картинка в res_1_rc.py

  3. Пишем main.py


import sysfrom PyQt5.QtGui  import QPixmap, QMoviefrom PyQt5.QtWidgets import QWidget, QApplication, QHBoxLayout, QLabelimport res_1_rc            # Здесь мы импортируем наше изображениеclass ImageView(QWidget):    def __init__(self, *args, **kwargs):        super(ImageView, self).__init__(*args, **kwargs)        layout = QHBoxLayout(self)        # Загрузить изображение из файла ресурсов        # Команда преобразования    pyrcc5 res_1.qrc -o res_1_rc.py        # Этот способ заключается в том, чтобы преобразовать файл res.qrc в файл res_1_rc.py         layout.addWidget(QLabel(self, pixmap=QPixmap("":/images/head.jpg"")))        # обратите внимание на формат получения картинки из res_1_rc.pyif __name__ == ""__main__"":    app = QApplication(sys.argv)    w = ImageView()    w.resize(600, 400)    w.show()    sys.exit(app.exec_())

Прячьте папку с картинкой и запускайте python main.py

  1. pyinstaller -c -F main.py

    запустите main.exe

Последние

Похожие