У меня скрипт на PyQt5, и в нём присутствуют картинки,
но после компиляции .py в .exe, картинки всё так же отдельно остаются.
Как поместить картинку в скрипт, чтобы скрипт и фото не находились в разных местах?
PythonLib
Питон для всех
question@mail.ru
·
01.01.1970 03:00
У меня скрипт на PyQt5, и в нём присутствуют картинки,
но после компиляции .py в .exe, картинки всё так же отдельно остаются.
Как поместить картинку в скрипт, чтобы скрипт и фото не находились в разных местах?
answer@mail.ru
·
01.01.1970 03:00
Создаем файл ресурсов например res_1.qrc
<RCC> <qresource prefix=""/""> <file>images/head.jpg</file> </qresource></RCC>Предполагаем, что картинка head.jpg находится в каталоге images (images/head.jpg)
Загрузить изображение из файла ресурсов:
Команда преобразования pyrcc5 res_1.qrc -o res_1_rc.py
Этот способ заключается в том, чтобы преобразовать файл res_1.qrc в файл res_1_rc.py Все картинка в res_1_rc.py
Пишем 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
pyinstaller -c -F main.py
запустите main.exe