【问题标题】:Wxpython Application iconWxpython 应用程序图标
【发布时间】:2020-01-27 15:10:19
【问题描述】:

我使用 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)

它有效。你知道它是做什么的吗?

【问题讨论】:

  • 我使用的是 Windows 10。当我在其他解释器之前使用时,它对我有用。
  • 是的,它适用于 Linux,如果您将变量 ICON_PATH 设置为完整路径。
  • 正如我所说,我使用的是 Windows 10,但它不适合我(您可以在图片中看到)。
  • 它在 Windows 10 上对我来说可以正常工作。仔细检查您的 ICON_PATH 以及图标文件本身。如果您还没有,请尝试从命令行运行它,以确保 PyCharm 在运行脚本时没有做一些有趣的事情。

标签: python python-3.x icons wxpython taskbar


【解决方案1】:

问题是,当您使用wx.Frame.SetIcon 时,它会在窗口栏上设置框架图标。任务栏中的图标是运行脚本的可执行文件的图标。这意味着当您直接从源代码运行时,该图标将是 python 解释器的图标。如果您想在从源代码运行时获得图标,则需要使用 win32 API 设置图标,但如果您使用 PyInstaller 之类的工具进行分发,则可以使用 --icon 选项在 exe 中添加图标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多