【问题标题】:tkinter iconbitmap don't work and wm_iconbitmap also don't worktkinter iconbitmap 不起作用,wm_iconbitmap 也不起作用
【发布时间】:2021-05-25 23:27:40
【问题描述】:

使用来自 fedora cinnamon repos 的 python 3.9.1 和 tkinter,尝试使用运行此代码的 tkinter 设置窗口图标:

import tkinter as tk
class App(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("My Tkinter app")
        self.iconbitmap("python.ico")
        self.geometry("400x200+10+10")
if __name__ == "__main__":
    app = App()
    app.mainloop()

使用的 ico 图像是这样的:python.ico,但运行代码时会收到此消息:

self.iconbitmap("python.ico")
File "/usr/lib64/python3.9/tkinter/__init__.py", line 2072, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "python.ico" not defined

已经尝试使用 wm_iconbitmap 代替 iconbitmap 但不起作用,如何更改窗口图标?

sugested 帖子中的解决方案是在 iconbitmap 方法中的 "" 之前放一个 r 字母,我试过但不适用于我的情况。

【问题讨论】:

  • @TheLizzard,该帖子中的解决方案是在 iconbitmap 方法中的 "" 之前放置一个 r 字母,我试过但不适用于我的情况。
  • 您是否尝试过将完整路径放入:"C:\Python32\DLLs\py.ico"
  • @TheLizzard,是的,我试过了,使用 Linux 表单路径。
  • 这只是为了涵盖所有基础,但您确定您从图片所在的相同目录运行程序吗?

标签: python python-3.x linux tkinter fedora-33


【解决方案1】:

首先将 python.ico 转换为 python.xbm(例如使用 GIMP)。 然后在文件名前加上“@”。例如:

self.iconbitmap("@python.xbm")

我在 UbuntuMate 和 SuSE Linux,python3.6 中检查过这段代码

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 2010-10-28
    • 2018-10-20
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    相关资源
    最近更新 更多