# tk common message boxes## this module provides an interface to the native message boxes# available in Tk 4.2 and newer.## written by Fredrik Lundh, May 1997### 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)#from tkinter.commondialog import Dialog## constants# iconsERROR = "error"INFO = "info"QUESTION = "question"WARNING = "warning"# typesABORTRETRYIGNORE = "abortretryignore"OK = "ok"OKCANCEL = "okcancel"RETRYCANCEL = "retrycancel"YESNO = "yesno"YESNOCANCEL = "yesnocancel"# repliesABORT = "abort"RETRY = "retry"IGNORE = "ignore"OK = "ok"CANCEL = "cancel"YES = "yes"NO = "no"## message dialog classclass Message(Dialog):"A message box"command = "tk_messageBox"## convenience stuff# Rename _icon and _type options to allow overriding them in optionsdef _show(title=None, message=None, _icon=None, _type=None, **options):if _icon and "icon" not in options: options["icon"] = _iconif _type and "type" not in options: options["type"] = _typeif title: options["title"] = titleif message: options["message"] = messageres = Message(**options).show()# In some Tcl installations, yes/no is converted into a boolean.if isinstance(res, bool):if res:return YESreturn NO# In others we get a Tcl_Obj.return str(res)def showinfo(title=None, message=None, **options):"Show an info message"return _show(title, message, INFO, OK, **options)def showwarning(title=None, message=None, **options):"Show a warning message"return _show(title, message, WARNING, OK, **options)def showerror(title=None, message=None, **options):"Show an error message"return _show(title, message, ERROR, OK, **options)def askquestion(title=None, message=None, **options):"Ask a question"return _show(title, message, QUESTION, YESNO, **options)def askokcancel(title=None, message=None, **options):"Ask if operation should proceed; return true if the answer is ok"s = _show(title, message, QUESTION, OKCANCEL, **options)return s == OKdef askyesno(title=None, message=None, **options):"Ask a question; return true if the answer is yes"s = _show(title, message, QUESTION, YESNO, **options)return s == YESdef askyesnocancel(title=None, message=None, **options):"Ask a question; return true if the answer is yes, None if cancelled."s = _show(title, message, QUESTION, YESNOCANCEL, **options)# s might be a Tcl index object, so convert it to a strings = str(s)if s == CANCEL:return Nonereturn s == YESdef askretrycancel(title=None, message=None, **options):"Ask if operation should be retried; return true if the answer is yes"s = _show(title, message, WARNING, RETRYCANCEL, **options)return s == RETRY# --------------------------------------------------------------------# test stuffif __name__ == "__main__":print("info", showinfo("Spam", "Egg Information"))print("warning", showwarning("Spam", "Egg Warning"))print("error", showerror("Spam", "Egg Alert"))print("question", askquestion("Spam", "Question?"))print("proceed", askokcancel("Spam", "Proceed?"))print("yes/no", askyesno("Spam", "Got it?"))print("yes/no/cancel", askyesnocancel("Spam", "Want it?"))print("try again", askretrycancel("Spam", "Try again?"))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。