一、messagebox 子模块
一般用法
messagebox 子模块的一般作用就是产生一个消息框,提供的消息框种类有 8 个,下面将一个一个介绍
【showinfo】
showinfo(title=None, message=None, **options)
信息提示消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】字符串对象
【提示音】信息提示音
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.showinfo('温馨提示', '您还没有给我点赞哦!\n记得点赞,不要忘记啦!') print(type(return_value), return_value) # <class 'str'> ok
效果展示
showinfo
【showwarning】
showwarning(title=None, message=None, **options)
警告提示消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】字符串对象
【提示音】信息提示音
代码示例
1. import tkinter.messageboximport tkinter.messagebox return_value = tkinter.messagebox.showwarning('严重警告', '如果你还不给我点赞,你的电脑将收到病毒攻击!') print(type(return_value), return_value) # <class 'str'> ok
效果展示
showwarning
【showerror】
showerror(title=None, message=None, **options)
错误提示消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】字符串对象
【提示音】错误提示音
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.showerror('系统错误', '系统正在受到未知来源的病毒攻击!\n(ERROR_3X007)') print(type(return_value), return_value) # <class 'str'> ok
效果展示
showerror
【askquestion】
askquestion(title=None, message=None, **options)
一般询问消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】字符串对象
【提示音】无
特别的,这个窗口无法点击关闭按钮,只能点击“是(Y)”或者“否(N)”
与 askyesno 的区别在于,该返回值为 str,而 askyesno 为 bool
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askquestion('是否点赞', '您要给我点赞是吗?') print(type(return_value), return_value) # <class 'str'> yes(点击是) no(点击否)
效果展示
askquestion
【askokcancel】
askokcancel(title=None, message=None, **options)
“确定取消”询问消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】布尔值
【提示音】无
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askokcancel('点赞确认', '是否给这篇博客点赞?') print(type(return_value), return_value) # <class 'bool'> True(点击确定) False(点击取消或关闭)
效果展示
askokcancel
【askyesno】
askyesno(title=None, message=None, **options)
“是否”询问消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】布尔值
【提示音】无
特别的,这个窗口无法点击关闭按钮,只能点击“是(Y)”或者“否(N)”
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askyesno('收藏确认', '是否收藏这篇博客?') print(type(return_value), return_value) # <class 'bool'> True(点击是) False(点击否)
效果展示
askyesno
【askyesnocancel】
askyesnocancel(title=None, message=None, **options)
“是否取消”询问消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】布尔值或者 None
【提示音】无
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askyesnocancel('支持', '是否点赞并收藏这篇博客?') print(type(return_value), return_value) # <class 'bool'> True(点击是) False(点击否) None(点击取消或关闭)
效果展示
askyesnocancel
【askretrycancel】
askretrycancel(title=None, message=None, **options)
“重试取消”询问消息框
【title】弹窗的标题
【message】字符串,要显示的信息
【options】其他选项,具体见高级操作
【返回值】布尔值
【提示音】信息提示音
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askretrycancel('提示', '运气不佳,白嫖失败!') print(type(return_value), return_value) # <class 'bool'> True(点击重试) False(点击取消或关闭)
效果展示
askretrycancel
高级操作
高级操作呢,一般人是不知道的,只有看了子模块 messagebox 源代码的人才知道,为什么这么说呢,下面我们看看部分源代码就知道了
# tk common message boxes # tk的常见消息框 # this module provides an interface to the native message boxes # available in Tk 4.2 and newer. # 该模块为Tk 4.2及更新版本中可用的本地消息框提供接口 # written by Fredrik Lundh, May 1997 # 作者:Fredrik Lundh,1997年5月 # # options (all have default values): # 参数(都有默认值) # - default: which button to make default (one of the reply codes) # 设置默认值的按钮(其中一个回复代码) # - icon: which icon to display (see below) # 要显示的图标(见下文) # - message: the message to display # 要显示的消息 # - parent: which window to place the dialog on top of # 将对话框放置在哪个窗口的上面 # - title: dialog title # 对话框标题 # - type: dialog type; that is, which buttons to display (see below) # 对话框类型;也就是说,要显示哪些按钮(见下文) # constants # icons 【用于icon参数】 ERROR = "error" # “错误”图标 INFO = "info" # “信息”图标 QUESTION = "question" # “询问”图标 WARNING = "warning" # “警告”图标 # types 【用于type参数】 ABORTRETRYIGNORE = "abortretryignore" # 中止、重试、忽略 (3个按钮的模式) OK = "ok" # 确定 (1个按钮的模式) OKCANCEL = "okcancel" # 确定、取消 (2个按钮的模式) RETRYCANCEL = "retrycancel" # 重试、取消 (2个按钮的模式) YESNO = "yesno" # 是、否 (2个按钮的模式) YESNOCANCEL = "yesnocancel" # 是、否、取消 (3个按钮的模式) # replies 【用于default参数】 ABORT = "abort" # 默认为“中止”按钮 RETRY = "retry" # 默认为“重试”按钮 IGNORE = "ignore" # 默认为“忽略”按钮 OK = "ok" # 默认为“确定”按钮 CANCEL = "cancel" # 默认为“取消”按钮 YES = "yes" # 默认为“是”按钮 NO = "no" # 默认为“否”按钮
# tk common message boxes
# tk的常见消息框
# this module provides an interface to the native message boxes
# available in Tk 4.2 and newer.
# 该模块为Tk 4.2及更新版本中可用的本地消息框提供接口
# written by Fredrik Lundh, May 1997
# 作者:Fredrik Lundh,1997年5月
#
# options (all have default values):
# 参数(都有默认值)
# - default: which button to make default (one of the reply codes)
# 设置默认值的按钮(其中一个回复代码)
# - icon: which icon to display (see below)
# 要显示的图标(见下文)
# - message: the message to display
# 要显示的消息
# - parent: which window to place the dialog on top of
# 将对话框放置在哪个窗口的上面
# - title: dialog title
# 对话框标题
# - type: dialog type; that is, which buttons to display (see below)
# 对话框类型;也就是说,要显示哪些按钮(见下文)
# constants
# icons 【用于icon参数】
ERROR = "error" # “错误”图标
INFO = "info" # “信息”图标
QUESTION = "question" # “询问”图标
WARNING = "warning" # “警告”图标
# types 【用于type参数】
ABORTRETRYIGNORE = "abortretryignore" # 中止、重试、忽略 (3个按钮的模式)
OK = "ok" # 确定 (1个按钮的模式)
OKCANCEL = "okcancel" # 确定、取消 (2个按钮的模式)
RETRYCANCEL = "retrycancel" # 重试、取消 (2个按钮的模式)
YESNO = "yesno" # 是、否 (2个按钮的模式)
YESNOCANCEL = "yesnocancel" # 是、否、取消 (3个按钮的模式)
# replies 【用于default参数】
ABORT = "abort" # 默认为“中止”按钮
RETRY = "retry" # 默认为“重试”按钮
IGNORE = "ignore" # 默认为“忽略”按钮
OK = "ok" # 默认为“确定”按钮
CANCEL = "cancel" # 默认为“取消”按钮
YES = "yes" # 默认为“是”按钮
NO = "no" # 默认为“否”按钮
代码示例
import tkinter.messagebox return_value = tkinter.messagebox.askyesnocancel('程序错误', '您可以选择终止程序的运行\n或者重新尝试运行\n或者忽略错误继续运行', default=tkinter.messagebox.ABORT, icon=tkinter.messagebox.ERROR, type=tkinter.messagebox.ABORTRETRYIGNORE)
效果展示
高级操作
还有其他的大家也可以积极尝试呀!