Мне удалось настроить Pyinstaller для назначения файла .ico самому исполняемому файлу. и он отображается правильно
(думаю, назначение .png с прозрачными пикселями тоже сработало).
Однако я продолжаю видеть значок приложения Python по умолчанию на обеих панелях задач. и QMainWindow Edge.
Я попробовал несколько расположений файлов .ico, а также соответствующим образом настроил файл .spec.
Кроме того, если я запускаю приложение из IDE, значок края отображается как ожидалось.
Предположительно, в файле .spec отсутствуют некоторые значения поля данных, но не удалось найти, как это исправить.
Будем рады любым предложениям. р>
test.py:
Код: Выделить всё
import sys
from PySide6.QtCore import Qt
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QMainWindow, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Hello World Application")
label = QLabel("Hello, World!", self)
label.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.setCentralWidget(label)
if __name__ == "__main__":
app = QApplication(sys.argv)
app_icon_path = "core/gui/app_icon.ico"
app_icon = QIcon(app_icon_path)
app.setWindowIcon(app_icon)
window = MainWindow()
window.resize(400, 300)
window.show()
sys.exit(app.exec())
Код: Выделить всё
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['test.py'],
pathex=[],
binaries=[],
datas=[('core/gui/app_icon.ico', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='test',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=['core\\gui\\app_icon.ico'],
)
[img]https://i .sstatic.net/lSF8s09F.png[/img]
Подробнее здесь: https://stackoverflow.com/questions/793 ... -correctly
Мобильная версия