本文实例为大家分享了基于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()
效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
希望与广大网友互动??
点此进行留言吧!