python弹框二之tkinter.messagebox

系统 1949 0

        前面写过python弹框的ctypes.windll.user32方法:https://blog.csdn.net/Gordennizaicunzai/article/details/78966694

该方法调用windows系统的user32组件,不是纯python方法,且wser32的MessageBoxA使用不当会出现乱码,不是很好用。这里介绍pythonic的弹框——tkinter.messagebox。

NAME
    tkinter.messagebox

DESCRIPTION
    # 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
    #

CLASSES
    tkinter.commondialog.Dialog(builtins.object)
        Message
    
    class Message(tkinter.commondialog.Dialog)
     |  Message(master=None, **options)
     |  
     |  A message box
     |  
     |  Method resolution order:
     |      Message
     |      tkinter.commondialog.Dialog
     |      builtins.object
     |  
     |  Data and other attributes defined here:
     |  
     |  command = 'tk_messageBox'
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from tkinter.commondialog.Dialog:
     |  
     |  __init__(self, master=None, **options)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |  
     |  show(self, **options)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from tkinter.commondialog.Dialog:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)

FUNCTIONS

showinfo(title=None, message=None, **options)
        Show an info message

注意,tkinter.messagebox默认主窗口是显示状态,我们弹框时它是多于的,需要隐藏。

            
              >>> import tkinter as tk
>>> from tkinter import messagebox as messagebox
>>> 
>>> messagebox.showinfo('弹框', '注意,主窗口未退出')
'ok'
>>> 
            
          

python弹框二之tkinter.messagebox_第1张图片    

隐藏主窗口,函数要放在弹框前,否则无效:

showerror(title=None, message=None, **options)
        Show an error message

            
              >>> tk.Tk().withdraw()  # 隐藏主窗口
''
>>> messagebox.showerror('弹框', 'say something')
'ok'
>>> 
            
          


     python弹框二之tkinter.messagebox_第2张图片

    
    showwarning(title=None, message=None, **options)
        Show a warning message

            
              >>> tk.Tk().deiconify()  # 显示主窗口
''
>>> messagebox.showwarning('弹框', 'say something')
'ok'
>>> 
            
          

python弹框二之tkinter.messagebox_第3张图片

askokcancel(title=None, message=None, **options)
        Ask if operation should proceed; return true if the answer is ok


        选择确定/取消,返回值分别对应true/false,下同:

            
              >>> 
>>> tk.Tk().withdraw()  # 隐藏主窗口
''
>>> msg = messagebox.askokcancel('对话框', '请选择')
>>> msg
False
>>> 
            
          

python弹框二之tkinter.messagebox_第4张图片
    askquestion(title=None, message=None, **options)
        Ask a question

            
              >>> 
>>> msg = messagebox.askquestion('对话框', '请选择')
>>> 
            
          

python弹框二之tkinter.messagebox_第5张图片
    
    askretrycancel(title=None, message=None, **options)
        Ask if operation should be retried; return true if the answer is yes

            
              msg = messagebox.askretrycancel('对话框', '请选择')
            
          


     python弹框二之tkinter.messagebox_第6张图片
    askyesno(title=None, message=None, **options)
        Ask a question; return true if the answer is yes
    

            
               msg = messagebox.askyesno('对话框', '请选择')
            
          

python弹框二之tkinter.messagebox_第7张图片
    askyesnocancel(title=None, message=None, **options)
        Ask a question; return true if the answer is yes, None if cancelled.

            
              >>> msg = messagebox.askyesnocancel('对话框', '请选择')
>>> msg
True
>>> msg = messagebox.askyesnocancel('对话框', '请选择')
>>> msg
False
>>> msg = messagebox.askyesnocancel('对话框', '请选择')
>>> msg
>>> 
            
          


     python弹框二之tkinter.messagebox_第8张图片

DATA
    ABORT = 'abort'
    ABORTRETRYIGNORE = 'abortretryignore'
    CANCEL = 'cancel'
    ERROR = 'error'
    IGNORE = 'ignore'
    INFO = 'info'
    NO = 'no'
    OK = 'ok'
    OKCANCEL = 'okcancel'
    QUESTION = 'question'
    RETRY = 'retry'
    RETRYCANCEL = 'retrycancel'
    WARNING = 'warning'
    YES = 'yes'
    YESNO = 'yesno'
    YESNOCANCEL = 'yesnocancel'


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论