【问题标题】:how to set logo for root window in tkinter python如何在 tkinter python 中为根窗口设置徽标
【发布时间】:2021-12-20 07:36:52
【问题描述】:

在下面的代码中,我尝试为根窗口设置徽标。 我尝试了 .ico、.gif 和 .png 文件格式。 对于 .gif 和 .png 图像,徽标仅出现在任务栏中,而不出现在根窗口中。 当我尝试 .ico 图像时,出现错误:tkinter.TclError:无法识别图像文件“icon.ico”中的数据。 我尝试了几种方法,但没有一种方法对我有用,下面的代码中显示了其中两种方法。 徽标图像是否有任何规范,例如图像大小、分辨率、尺寸等。 以防万一我使用的是linux机器。 代码:

from tkinter import *

root = Tk()
root.geometry('400x400')

# First method
root.tk.call('wm', 'iconphoto', root._w, PhotoImage(file="icon.ico"))

# Second method
root.iconbitmap(r'icon.png')

root.mainloop()

第三种方法:

root.iconbitmap(r'icon.ico')

【问题讨论】:

  • 您想在根窗口的哪个位置显示图像?你用的是什么系统?
  • 我希望logo出现在根标题旁边,我使用的是linux机器
  • 如果您没有icon.ico 文件,您可以使用this
  • @Atlas435,我确实有 icon.ico,但是上面提到了一个错误。很抱歉,您分享的链接中的任何方法都不适用于我。
  • 当我尝试root.iconbitmap('icon.ico')时,出现错误:tkinter.TclError: bitmap "icon.ico" not defined

标签: python-3.x tkinter png gif ico


【解决方案1】:

您不需要使用原始字符串。 确保它是合法的 .ico 文件,并且它与你的 python 文件位于同一目录中。然后你可以将它(.iconbitmap 方法)移动到你的根窗口定义之下。

root.iconbitmap('filename.ico')

如果它不起作用,请告诉我。这可能是您的设置或操作系统特定的错误。我们会尝试其他方式。

【讨论】:

  • 如果它也可以,请尝试使用绝对路径
  • 如果这些都不起作用,请尝试将图像转换为 xbm 文件并将其添加到带有 @ 前缀的路径中。
  • @Emmanuel Oloyede,我试过root.iconbitmap('filename.ico'),用绝对路径试过,用@前缀试过xbm。没有什么对我有用。我在 Ubuntu 20.04 上使用 vscode。
  • @MilindKhobragade 请分享源代码和错误消息的图片。
  • 好的,在 Twitter 上和我聊天@tech_emmyy
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 2022-10-23
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多