欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于wxPython的GUI实现输入对话框(1)

程序员文章站 2022-04-28 17:29:33
本文实例为大家分享了基于wxpython的gui实现输入对话框的具体代码,供大家参考,具体内容如下 编程时,免不了要输入一些参数等,这时输入对话框就派上用处了:...

本文实例为大家分享了基于wxpython的gui实现输入对话框的具体代码,供大家参考,具体内容如下

编程时,免不了要输入一些参数等,这时输入对话框就派上用处了:

#-*- coding:utf-8 -*-
#~ #--------------------------------------------------------------------------------
#~ filename=wxinputbox.py
#~ funciton:wx的输入对话框
#~ author:吴徐平
#~ date:2013-04-28
#~ email:539688300@qq.com
#~ #--------------------------------------------------------------------------------
import wx
 
class textentrydialog(wx.dialog):
 
 def __init__(self, parent=none, title='title', caption='caption',size=(500, 200)):
  '''
  #~ dialog = textentrydialog(parent=none, title=title,caption=caption,size=size)
  #~ dialog = textentrydialog()
  ''' 
  style = wx.default_dialog_style | wx.resize_border
  super(textentrydialog, self).__init__(parent, -1, title=title, style=style)
  self.text = wx.statictext(self, -1, caption)
  self.input = wx.textctrl(self, -1, style=wx.te_multiline)
  self.input.setinitialsize(size)
  self.buttons = self.createbuttonsizer(wx.ok|wx.cancel)
  self.sizer = wx.boxsizer(wx.vertical)
  self.sizer.add(self.text, 0, wx.all, 5)
  self.sizer.add(self.input, 1, wx.expand|wx.all, 5)
  self.sizer.add(self.buttons, 0, wx.expand|wx.all, 5)
  self.setsizerandfit(self.sizer)
  self.center()
 def setvalue(self, value):
  self.input.setvalue(value)
 def getvalue(self):
  return self.input.getvalue()
 
def wxinputbox(initialstring='initial string',title='title',caption='caption',size=(500,200)):
 '''
 #~ >>>stringvalue=wxinputbox(initialstring='initial string',title='title',caption='caption',size=(500,200)):
 #~ >>> stringvalue=wxinputbox()
 '''
 app = wx.pysimpleapp()
 #~ dialog = textentrydialog(none, title=title,caption=caption,size=size)
 dialog = textentrydialog()
 dialog.setvalue(initialstring)
 if dialog.showmodal() == wx.id_ok:
  stringvalue= dialog.getvalue()
 else:
  stringvalue=''
  dialog.destroy()
  app.mainloop()
 return stringvalue
  
if __name__ == '__main__': 
 #~ #使用wx的输入对话框
 stringvalue=wxinputbox()
 print(stringvalue)
 
 
#~ if __name__ == '__main__':
 #~ app = wx.pysimpleapp()
 #~ #使用wx自带的输入对话框
 #~ dialog = wx.textentrydialog(none, 'rules:', 'edit rules',
 #~ style=wx.te_multiline|wx.ok|wx.cancel)
 #~ dialog.setinitialsize((500,200))
 #~ if dialog.showmodal() == wx.id_ok:
  #~ print 'ok'
 #~ dialog.destroy()
 #~ app.mainloop()

效果如下:

基于wxPython的GUI实现输入对话框(1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。