有没有办法更改tkinter消息框的图标? 这是我的代码:
from tkinter import *
import tkinter.messagebox as messagebox
root = Tk()
messagebox.showinfo(title='Example',message='This is an example')
root.mainloop()
是否可以选择将图标从默认的tkinter羽化更改为自定义ico?
答案 0 :(得分:3)
是的,有这样的选择。假设您的根Tkinter实例名为root
,您的import语句为from tkinter import *
,您的图像文件名为'ico.gif'
:
root.tk.call('wm', 'iconphoto', root._w, PhotoImage(file='ico.gif'))
在创建root
对象之后和弹出messagebox
之前调用此方法。该图标将应用于根对象以及messagebox
。
答案 1 :(得分:0)
以下是您的问题的两种可能的解决方案:
1。更改标题栏图标
是的,我们可以在tkinter中为标题栏设置一个自定义图标。
代码:
import tkinter as tk
window = tk.Tk()
# change title bar icon
window.iconbitmap('book_2.ico')
window.mainloop()
注意::将{em> .ico 文件与iconbitmap()
函数一起使用
如果您为根窗口设置了自定义图标,则该相同的图标将被设置为所有其他子窗口(包括 messagebox 模块中的消息框)的标题栏图标。 / p>
代码:
import tkinter as tk
import tkinter.messagebox as tkmb
window = tk.Tk()
# change title bar icon
window.iconbitmap('book_2.ico')
# same icon is also set for the message box
tkmb.showinfo(title='Info', message='Info message box')
window.mainloop()
2。更改消息框中的图标
否,您无法设置用于在消息框内显示的自定义图标。
但是您有四个预设图标选项可供选择,这些选项是:
您可以通过在 icon 选项中指定上述4个值之一来使用它们。
import tkinter.messagebox as tkmb
tkmb.showinfo(title='Message Box', message='Error message', icon='error')
tkmb.showinfo(title='Message Box', message='Info message', icon='info')
tkmb.showinfo(title='Message Box', message='Question message', icon='question')
tkmb.showinfo(title='Message Box', message='Warning message', icon='warning')
注意:
showinfo()
消息框是 info showerror()
消息框是错误 showwarning()
消息框是警告