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

yipeiwu_com7年前Python基础

本文实例讲述了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的取值主要有以下几种:

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()

测试:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

Python利用PyExecJS库执行JS函数的案例分析

Python利用PyExecJS库执行JS函数的案例分析

  在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,你的编写的脚本是不可能...

Python中如何导入类示例详解

前言 随着我们不断地在一个文件中添加新的功能, 就会使得文件变得很长。 即便使用了继承,也抑制不住类的成长。为了解决这一问题,我们可以将类存储在模块中, 然后在主程序中导入所需的模块,这...

给Python IDLE加上自动补全和历史功能

许多时候,我们使用Python,并不用写一个程序,一些不复杂的任务,我更喜欢在 IDLE(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利的地方,最主要...

Python素数检测实例分析

本文实例讲述了Python素数检测的方法。分享给大家供大家参考。具体如下: 该程序实现了素数检测器功能,如果结果是true,则是素数,如果结果是false,则不是素数。 def fn...

pygame实现五子棋游戏

pygame实现五子棋游戏

本文实例为大家分享了pygame五子棋游戏的具体代码,供大家参考,具体内容如下 1.设置棋盘 五子棋标准棋盘是15x15的,如果我们每个格子的大小是40x40的话,棋盘应该是40x(15...