Skip to content

messagebox

信息提示框

消息提示框只用于显示提示消息。

python
import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.geometry('500x300')

tk.Button(root, text='信息提示',
          command=lambda: messagebox.showinfo(title='温馨提示', message='你的代码语法不符合规范')).pack()
tk.Button(root, text='警告', command=lambda: messagebox.showerror(title='警告', message='你的代码可能有问题')).pack()
tk.Button(root, text='错误', command=lambda: messagebox.showerror(title='错误', message='你的代码报错了')).pack()

root.mainloop()

image-20210221164458707

消息对话框

消息对话框,用于提示消息与获取用户的选择信息,可以使用户与程序进行消息交互。

python
import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.geometry('500x300')

tk.Button(root, text="是或否", command=lambda: print(messagebox.askyesno(message='是否确认 ?'))).pack()
tk.Button(root, text="确认与取消",
          command=lambda: print(messagebox.askokcancel(title='选择', message='确认选择 ?'))).pack()
tk.Button(root, text="重试/取消",
          command=lambda: print(messagebox.askretrycancel(title='重试', message='重试 ?'))).pack()
tk.Button(root, text="是/否/取消",
          command=lambda: print(messagebox.askyesnocancel(title='询问', message='是/否/取消 ?'))).pack()

tk.mainloop()

image-20210221164558849

下图列举使用 messagebox 可以创建的所有标准对话框样式。

参数

所有的这些函数都有相同的参数:

title 参数毋庸置疑是设置标题栏的文本。

message 参数是设置对话框的主要文本内容,可以用 \n 来实现换行。

options 参数可以设置的选项和含义如下表所示。

选项含义
default1.设置默认的按钮(也就是按下回车响应的那个按钮)
2.默认是第一个按钮(像“确定"、“是”或“重试")
3.可以设置的值根据对话框函數的不同可以选择:CANCEL、IGNORE、OK、NO、RETRY 或 YES
icon1.指定对话框显示的图标
2.可以指定的值有: ERROR、INFO、QUESTION 或 WARNING
3.注意:不能指定自己的图标
parent1.如果不指定该选项,那么对话框默认显示在根窗口上
2.如果想要将对话框显示在子窗口 w 上,那么可以设置 parent= w

返回值

askokcancel(),askretrycancel() 和 askyesno() 返回布尔类型的值:

返回 True 表示用户单击了“确定”或“是”按钮。

返回 False 表示用户单击了“取消”或“否”按钮。

askquestion() 返回 "yes""no" 字符串表示用户单击了 “是” 或 “否” 按钮。

showerror(),showinfo() 和 showwarning() 返回 "ok"表示用户单击了 “是” 按钮。