📅  最后修改于: 2023-12-03 15:19:01.811000             🧑  作者: Mango
Python Tkinter中的消息框是用于向用户发出提示,警告或错误消息的常见方式。消息框提供了一种简单的方法来打开弹出窗口并显示消息,通常用于交互式图形用户界面。
使用 showinfo() 函数显示一条普通的信息消息框。
from tkinter import messagebox
messagebox.showinfo(title="Information", message="This is an information message!")
显示结果如下:
使用 showwarning() 函数显示一条警告消息框。
from tkinter import messagebox
messagebox.showwarning(title="Warning", message="This is a warning message!")
显示结果如下:
使用 showerror() 函数显示一条错误消息框。
from tkinter import messagebox
messagebox.showerror(title="Error", message="This is an error message!")
显示结果如下:
使用 askquestion() 函数显示带有两个按钮(“是”和“否”)的消息框。该函数返回用户的响应('yes'或'no')。
from tkinter import messagebox
response = messagebox.askquestion(title="Question", message="Do you want to continue?")
if response == 'yes':
print("User clicked Yes.")
else:
print("User clicked No.")
如果用户点击 “Yes” 按钮,输出将是:
User clicked Yes.
如果用户点击 “No” 按钮,输出将是:
User clicked No.
显示结果如下:
使用 askokcancel() 函数显示带有两个按钮的消息框(“确定”和“取消”)。该函数返回用户的响应(True或False)。
from tkinter import messagebox
response = messagebox.askokcancel(title="Question", message="Do you want to continue?")
if response == True:
print("User clicked OK.")
else:
print("User clicked Cancel.")
如果用户点击 “OK” 按钮,输出将是:
User clicked OK.
如果用户点击 “Cancel” 按钮,输出将是:
User clicked Cancel.
显示结果如下:
使用 askyesno() 函数显示带有两个按钮(“是”和“否”)的消息框。该函数返回用户的响应(True或False)。
from tkinter import messagebox
response = messagebox.askyesno(title="Question", message="Do you want to continue?")
if response == True:
print("User clicked Yes.")
else:
print("User clicked No.")
如果用户点击 “Yes” 按钮,输出将是:
User clicked Yes.
如果用户点击 “No” 按钮,输出将是:
User clicked No.
显示结果如下:
Python Tkinter中的消息框可以使用以下参数进行自定义:
用于设置消息框的标题。
from tkinter import messagebox
messagebox.showinfo(title="My Title", message="This is a custom title message!")
显示结果如下:
用于显示消息框中的消息内容。
from tkinter import messagebox
messagebox.showinfo(title="Information", message="This is a custom message!")
显示结果如下:
用于设置消息框显示的图标,可以使用以下四个选项:
from tkinter import messagebox
messagebox.showerror(title="Error", message="This is an error message!", icon='warning')
显示结果如下:
用于设置默认按钮的焦点。默认值为0,表示按Enter键时,焦点将放在消息框的第一个按钮上。
from tkinter import messagebox
response = messagebox.askquestion(title="Question", message="Do you want to continue?", default='no')
此时,消息框的默认按钮为 “No”,如果用户输入一次Enter,则默认选择 “No” 按钮。
显示结果如下:
用于指定消息框的父窗口。
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
def show_message_box():
messagebox.showinfo(parent=root, title="Information", message="This is a message box!")
button = tk.Button(root, text="Show Message Box", command=show_message_box)
button.pack()
root.mainloop()
此时,弹出的消息框将会在主窗口中心出现;如果将 parent 设置为 None,则会将消息框放置在屏幕中心。
显示结果如下:
Python Tkinter中的消息框是一种灵活的工具,可以通过它向用户弹出各种各样的提示、警告和错误消息。在编写交互式GUI应用程序时,使用这些消息框可以提高应用程序的用户友好性和交互性。