网络编程
位置:首页>> 网络编程>> Python编程>> Python wxPython库消息对话框MessageDialog用法示例

Python wxPython库消息对话框MessageDialog用法示例

作者:socrates  发布时间:2022-06-15 15:31:57 

标签:Python,wxPython,对话框,MessageDialog

本文实例讲述了Python wxPython库消息对话框MessageDialog用法。分享给大家供大家参考,具体如下:

消息对话框即我们平时说的Messagebox,看看它的原型,下面是wxWidgets中的原型定义,C++风格,与python风格的区别就是wx前缀与后面名称直接相连,例如wxMessageDialog,在wxpython中使用时就是wx.MessageDialog

wxMessageDialog(wxWindow* parent, const wxString& message, const wxString& caption = "Message box", long style = wxOK | wxCANCEL, const wxPoint& pos = wxDefaultPosition)

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

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

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

wxOKShow an OK button.
wxCANCELShow a Cancel button.
wxYES_NOShow Yes and No buttons.
wxYES_DEFAULTUsed with wxYES_NO, makes Yes button the default - which is the default behaviour.
wxNO_DEFAULTUsed with wxYES_NO, makes No button the default.
wxICON_EXCLAMATIONShows an exclamation mark icon.
wxICON_HANDShows an error icon.
wxICON_ERRORShows an error icon - the same as wxICON_HAND.
wxICON_QUESTIONShows a question mark icon.
wxICON_INFORMATIONShows an information (i) icon.
wxSTAY_ON_TOPThe 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()

测试:

Python wxPython库消息对话框MessageDialog用法示例

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/dyx1024/article/details/7866717

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com