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

时间:2022-02-02 17:41:15

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

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

  1. #-*- coding:utf-8 -*- 
  2. #~ #-------------------------------------------------------------------------------- 
  3. #~ FileName=wxinputbox.py 
  4. #~ Funciton:wx的输入对话框 
  5. #~ author:吴徐平 
  6. #~ Date:2013-04-28 
  7. #~ Email:539688300@qq.com 
  8. #~ #-------------------------------------------------------------------------------- 
  9. import wx 
  10.   
  11. class TextEntryDialog(wx.Dialog): 
  12.   
  13.  def __init__(self, parent=None, title='Title', caption='Caption',size=(500, 200)): 
  14.   ''
  15.   #~ dialog = TextEntryDialog(parent=None, title=title,caption=caption,size=size) 
  16.   #~ dialog = TextEntryDialog() 
  17.   ''
  18.   style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER 
  19.   super(TextEntryDialog, self).__init__(parent, -1, title=title, style=style) 
  20.   self.text = wx.StaticText(self, -1, caption) 
  21.   self.input = wx.TextCtrl(self, -1, style=wx.TE_MULTILINE) 
  22.   self.input.SetInitialSize(size) 
  23.   self.buttons = self.CreateButtonSizer(wx.OK|wx.CANCEL) 
  24.   self.sizer = wx.BoxSizer(wx.VERTICAL) 
  25.   self.sizer.Add(self.text, 0, wx.ALL, 5) 
  26.   self.sizer.Add(self.input, 1, wx.EXPAND|wx.ALL, 5) 
  27.   self.sizer.Add(self.buttons, 0, wx.EXPAND|wx.ALL, 5) 
  28.   self.SetSizerAndFit(self.sizer) 
  29.   self.Center() 
  30.  def SetValue(self, value): 
  31.   self.input.SetValue(value) 
  32.  def GetValue(self): 
  33.   return self.input.GetValue() 
  34.   
  35. def wxinputbox(Initialstring='Initial String',title='Title',caption='Caption',size=(500,200)): 
  36.  ''
  37.  #~ >>>stringvalue=wxinputbox(Initialstring='Initial String',title='Title',caption='Caption',size=(500,200)): 
  38.  #~ >>> stringvalue=wxinputbox() 
  39.  ''
  40.  app = wx.PySimpleApp() 
  41.  #~ dialog = TextEntryDialog(None, title=title,caption=caption,size=size) 
  42.  dialog = TextEntryDialog() 
  43.  dialog.SetValue(Initialstring) 
  44.  if dialog.ShowModal() == wx.ID_OK: 
  45.   stringvalue= dialog.GetValue() 
  46.  else
  47.   stringvalue='' 
  48.   dialog.Destroy() 
  49.   app.MainLoop() 
  50.  return stringvalue 
  51.    
  52. if __name__ == '__main__'
  53.  #~ #使用wx的输入对话框 
  54.  stringvalue=wxinputbox() 
  55.  print(stringvalue) 
  56.   
  57.   
  58. #~ if __name__ == '__main__': 
  59.  #~ app = wx.PySimpleApp() 
  60.  #~ #使用wx自带的输入对话框 
  61.  #~ dialog = wx.TextEntryDialog(None, 'Rules:', 'Edit rules', 
  62.  #~ style=wx.TE_MULTILINE|wx.OK|wx.CANCEL) 
  63.  #~ dialog.SetInitialSize((500,200)) 
  64.  #~ if dialog.ShowModal() == wx.ID_OK: 
  65.   #~ print 'OK' 
  66.  #~ dialog.Destroy() 
  67.  #~ app.MainLoop() 

效果如下:

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

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

原文链接:https://blog.csdn.net/rumswell/article/details/8865623