messageBox
消息框
messageBox
:消息框,用于显示你应用程序的消息框。其实这里的messageBox就是我们平时看到的弹窗。 在比如像软件或网页交互界面等,有不同的界面逻辑层级和功能区域划分时可以用到,让交互界面逻辑更加清晰。
showinfo
showinfo(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> str
显示信息消息
showwarning
showwarning(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> str
显示警告信息
showerror
showerror(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> str
显示错误信息
askquestion
askquestion(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> str
显示、询问选择是否对话窗,返回’yes’, ‘no’:
askokcancel
askokcancel(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> bool
询问是否应继续操作; 如果选择是则返回 true
askyesno
askyesno(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> bool
问一个问题; 如果答案是肯定的,则返回 true
askyesnocancel
askyesnocancel(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> Optional[bool]
问一个问题; 如果答案是肯定的,则返回 true,如果取消则返回 None。
askretrycancel
askretrycancel(title: Optional[str] = None, message: Optional[str] = None, **options: Any) -> bool
询问是否应重试操作; 如果答案是肯定的,则返回 true
- 首先需要定义一个触发功能,来触发这个弹窗,如
button
按钮通过触发功能,调用messagebox,点击button按钮就会弹出提示对话框。下面给出messagebox提示信息的几种形式:
tkinter.messagebox.showinfo(title='Hi', message='你好!') # 提示信息对话窗
tkinter.messagebox.showwarning(title='Hi', message='有警告!') # 提出警告对话窗
tkinter.messagebox.showerror(title='Hi', message='出错了!') # 提出错误对话窗
print(tkinter.messagebox.askquestion(title='Hi', message='你好!')) # 询问选择对话窗return 'yes', 'no'
print(tkinter.messagebox.askyesno(title='Hi', message='你好!')) # return 'True', 'False'
print(tkinter.messagebox.askokcancel(title='Hi', message='你好!')) # return 'True', 'False'
示例代码:
# coding = utf-8
# File date: Hi_2021/12/29 16:50
# File_name: 10_messagebox对话框.py
from tkinter import *
from tkinter import messagebox
class Application(Frame):
def __init__(self, master=None):
# 初始化并调用父类初始化
super().__init__(master)
self.master = master
self.pack()
self.create_widget()
def create_widget(self):
"""创建组件"""
showinfo_button = Button(self, text="showinfo", command=Application.a_showinfo)
showwarning_button = Button(self, text="showwarning", command=Application.a_showwarning)
showerror_button = Button(self, text="showerror", command=Application.a_showerror)
askquestion_button = Button(self, text="askquestion", command=Application.a_askquestion)
askokcancel_button = Button(self, text="askokcancel", command=Application.a_askokcancel)
askyesno_button = Button(self, text="askyesno", command=Application.a_askyesno)
askyesnocancel_button = Button(self, text="askyesnocancel", command=Application.a_askyesnocancel)
a_skretrycancel_button = Button(self, text="askretrucancel", command=Application.a_skretrycancel)
showinfo_button.grid(row=1, pady=10, sticky="s")
showwarning_button.grid(row=2, pady=10, sticky="s")
showerror_button.grid(row=3, pady=10, sticky="s")
askquestion_button.grid(row=4, pady=10, sticky="s")
askokcancel_button.grid(row=5, pady=10, sticky="s")
askyesno_button.grid(row=6, pady=10, sticky="s")
askyesnocancel_button.grid(row=7, pady=10, sticky="s")
a_skretrycancel_button.grid(row=8, pady=10, sticky="s")
@staticmethod
def a_showinfo():
messagebox.showinfo("信息提示框", "显示信息消息")
@staticmethod
def a_showwarning():
messagebox.showwarning("警告信息框", "显示警告信息")
@staticmethod
def a_showerror():
messagebox.showerror("错误信息框", "显示错误信息")
@staticmethod
def a_askquestion():
result = messagebox.askquestion("询问对话框", "显示询问选择是否对话窗,返回'yes', 'no'")
messagebox.showinfo("返回结果提示框", f"返回结果:{result}")
print(f"返回结果:{result}")
@staticmethod
def a_askokcancel():
result = messagebox.askokcancel("是否对话框", "显示询问选择是否对话窗,返回true、false")
messagebox.showinfo("返回结果提示框", f"返回结果:{result}")
print(f"返回结果:{result}")
@staticmethod
def a_askyesnocancel():
result = messagebox.askyesnocancel("询问对话框", "问一个问题; 如果答案是肯定的,则返回 true")
messagebox.showinfo("返回结果提示框", f"返回结果:{result}")
print(f"返回结果:{result}")
@staticmethod
def a_askyesno():
result = messagebox.askyesno("询问对话框", "问一个问题; 如果答案是肯定的,则返回 true")
messagebox.showinfo("返回结果提示框", f"返回结果:{result}")
print(f"返回结果:{result}")
@staticmethod
def a_skretrycancel():
result = messagebox.askretrycancel("重试对话框", "询问是否应重试操作; 如果答案是肯定的,则返回 true")
messagebox.showinfo("返回结果提示框", f"返回结果:{result}")
print(f"返回结果:{result}")
if __name__ == '__main__':
root = Tk()
root.geometry("300x400")
root.title("10_对话框")
app = Application(master=root)
root.mainloop()