Wxpython应用程序图标
Wxpython Application icon
我使用 wxpython 并尝试将图标添加到我的应用程序 (Windows 10)。但是,该图标不会仅显示在应用程序左侧的任务栏中。我使用 wxpython 4.0.7post。有人知道为什么它不起作用吗?这是我的代码:
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()
我找到了这个解决方案 - wxpython icon for task bar:
import ctypes
my_app_id = r'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(my_app_id)
有效。你知道它有什么作用吗?
问题是,当您使用 wx.Frame.SetIcon
时,它会在 window 栏上设置框架图标。任务栏中的图标是可执行文件的图标 运行ning 脚本。这意味着当您直接从源代码 运行 时,图标将是 python 解释器的图标。如果你想在 运行 从源代码中获得图标,你需要使用 win32 API 设置图标,但如果你使用 PyInstaller 等工具分发,你可以使用 --icon
选项添加一个图标的exe。
我使用 wxpython 并尝试将图标添加到我的应用程序 (Windows 10)。但是,该图标不会仅显示在应用程序左侧的任务栏中。我使用 wxpython 4.0.7post。有人知道为什么它不起作用吗?这是我的代码:
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()
我找到了这个解决方案 - wxpython icon for task bar:
import ctypes
my_app_id = r'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(my_app_id)
有效。你知道它有什么作用吗?
问题是,当您使用 wx.Frame.SetIcon
时,它会在 window 栏上设置框架图标。任务栏中的图标是可执行文件的图标 运行ning 脚本。这意味着当您直接从源代码 运行 时,图标将是 python 解释器的图标。如果你想在 运行 从源代码中获得图标,你需要使用 win32 API 设置图标,但如果你使用 PyInstaller 等工具分发,你可以使用 --icon
选项添加一个图标的exe。