Wx python Значок приложения - PullRequest
1 голос
/ 27 января 2020

Я использую wx python и пытаюсь добавить значок в свое приложение (Windows 10). Однако значок не отображается на панели задач только в левой части приложения. Я использую wx python 4.0.7post. Кто-то знает, почему это не работает? Это мой код: This is the package of the wxpython This is how the icon is shown

import wx
"""The icon's type is icon.ico"""
app = wx.App()
frame = wx.Frame(None, -1, title='2', pos=(0, 0), size=(200, 200))
frame.Show(True)
frame.SetIcon(wx.Icon(ICON_PATH, wx.BITMAP_TYPE_ICO))
app.SetTopWindow(frame)
app.MainLoop()

Я нашел это решение - wx python значок для панели задач :

import ctypes
my_app_id = r'mycompany.myproduct.subproduct.version'  # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(my_app_id)

Работает. Вы знаете, для чего это нужно?

1 Ответ

0 голосов
/ 08 марта 2020

Проблема в том, что при использовании wx.Frame.SetIcon он устанавливает значок рамки на панели окна. Значок на панели задач является значком исполняемого файла, запускающего скрипт. Это означает, что когда вы запускаете прямо из исходного кода, иконка будет иконкой интерпретатора python. Вам нужно будет установить значок с помощью Win32 API, если вы хотите иметь значок при запуске из исходного кода, но если вы распространяете его с помощью такого инструмента, как PyInstaller, вы можете использовать опцию --icon, чтобы добавить значок exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...