решено - Решение опубликовано как ответ, спасибо всем за помощь.
После компиляции моего приложения на python с использованием PyQt5
в исполняемый файл значки, содержащиеся в моем графическом интерфейсе, удаляются/ не отображается.В частности, QIcon
экземпляры добавлены в мой Window(QMainWindow)
класс с использованием self.setWindowIcon(QtGui.QIcon(fpath))
и QPixmap(f2path)
, встроенных в QLabel
через label.setPixmap(myPixmap)
.
Я пытался найти на этом форуме возможные решения, ноне могу найти тему для решения проблем.Я попытался установить абсолютный путь к файлу, как рекомендовано здесь Объединение файлов данных с помощью PyInstaller (--onefile) и здесь Отсутствующие значки кнопок в pyinstaller
Не знаю, гдечтобы начать изучение проблем, при компиляции с pyinstaller
ошибок нет, и он отлично работает как скрипт python.
pyinstaller -w -F MY_GUI.py
Заранее спасибо!
Пример:
import sys
import os
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
return os.path.join(base_path, relative_path)
import sys
import resource_path # code taken from links above
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.title = "MyProg"
self.top = 400
self.left = 400
self.width = 680
self.height = 540
icon_path = resource_path("icon.png")
self.setWindowIcon(QtGui.QIcon(icon_path))
self.InitUI()
def InitUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())