zak*_*100 6 python tkinter python-3.x
有没有办法更改 tkinter 消息框的图标?这是我的代码:
from tkinter import *
import tkinter.messagebox as messagebox
root = Tk()
messagebox.showinfo(title='Example',message='This is an example')
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
是否可以选择将图标从默认的 tkinter 羽毛更改为自定义 ico?
Som*_*ury 10
以下是针对您的问题的两种可能的解决方案:
1.更改标题栏图标
是的,我们可以在 tkinter 中为标题栏设置自定义图标。
代码:
import tkinter as tk
window = tk.Tk()
# change title bar icon
window.iconbitmap('book_2.ico')
window.mainloop()
Run Code Online (Sandbox Code Playgroud)
注意:将.ico文件与iconbitmap()
函数一起使用
如果您为根窗口设置自定义图标,那么这个相同的图标将被设置为所有其他子窗口的标题栏图标,包括来自messagebox模块的消息框。
代码:
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()
Run Code Online (Sandbox Code Playgroud)
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')
Run Code Online (Sandbox Code Playgroud)
注意:默认图标
showinfo()
消息框是信息showerror()
消息框是错误的showwarning()
消息框是警告是的,有这样的选择。假设你的根 Tkinter 实例被调用root
,你的导入语句是from tkinter import *
,你的图像文件被命名为'ico.gif'
:
root.tk.call('wm', 'iconphoto', root._w, PhotoImage(file='ico.gif'))
Run Code Online (Sandbox Code Playgroud)
在创建root
对象之后和弹出messagebox
. 该图标将应用于根对象以及messagebox
.
归档时间: |
|
查看次数: |
10612 次 |
最近记录: |