wxPython:消息对话框MessageDialog

Posted 萌新上路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wxPython:消息对话框MessageDialog相关的知识,希望对你有一定的参考价值。

  wxMessageDialog(wxWindowparentconst wxStringmessageconst wxStringcaption = "Message box"long style = wxOK | wxCANCELconst wxPointpos = wxDefaultPosition)

 

ShowModal()方法,它使用应用程序在对话框关闭前不能响应其它窗口的用户事件,返回一个整数,取值如下:

  wx.ID_YES, wx.ID_NO, wx.ID_CANCEL, wx.ID_OK。

 

style的取值主要有以下几种:

wxOK Show an OK button.
wxCANCEL Show a Cancel button.
wxYES_NO Show Yes and No buttons.
wxYES_DEFAULT Used with wxYES_NO, makes Yes button the default - which is the default behaviour.
wxNO_DEFAULT Used with wxYES_NO, makes No button the default.
wxICON_EXCLAMATION Shows an exclamation mark icon.
wxICON_HAND Shows an error icon.
wxICON_ERROR Shows an error icon - the same as wxICON_HAND.
wxICON_QUESTION Shows a question mark icon.
wxICON_INFORMATION Shows an information (i) icon.
wxSTAY_ON_TOP The message box stays on top of all other window, even those of the other applications (Windows only). 
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import wx

class MyFrame(wx.Frame):
    
    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, u\'测试面板Panel\', size = (600, 300))
        
        #创建面板
        panel = wx.Panel(self) 
        
        #在Panel上添加Button
        button = wx.Button(panel, label = u\'关闭\', pos = (150, 60), size = (100, 60))
        
        #绑定单击事件
        self.Bind(wx.EVT_BUTTON, self.OnCloseMe, button)
        
    def OnCloseMe(self, event):
        dlg = wx.MessageDialog(None, u"消息对话框测试", u"标题信息", wx.YES_NO | wx.ICON_QUESTION)
        if dlg.ShowModal() == wx.ID_YES:
            self.Close(True)
        dlg.Destroy()
        
if __name__ == \'__main__\':
    app = wx.PySimpleApp()
    frame = MyFrame(parent = None, id = -1)
    frame.Show()
    app.MainLoop()

 

以上是关于wxPython:消息对话框MessageDialog的主要内容,如果未能解决你的问题,请参考以下文章

用wxpython做一个计算器

wxPython:文本对话框TextEntryDialog

wxPython Modal Dialog模式对话框,Python对话框中打开对话框

防止 wxPython 显示“未处理的异常”对话框

wxPython - 防止相同的警告对话框出现两次

如何运行wxpython