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

yipeiwu_com5年前Python基础

本文实例为大家分享了基于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()

效果如下:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于Python的微信机器人开发 微信登录和获取好友列表实现解析

基于Python的微信机器人开发 微信登录和获取好友列表实现解析

首先需要安装itchat库,可以pip install itchat安装,也可以在pycharm里安装 # -*- coding:utf-8 -*- __author__ = "Mu...

python scipy卷积运算的实现方法

python scipy卷积运算的实现方法

scipy的signal模块经常用于信号处理,卷积、傅里叶变换、各种滤波、差值算法等。 *两个一维信号卷积 >>> import numpy as np >...

python3序列化与反序列化用法实例

本文实例讲述了python3序列化与反序列化用法。分享给大家供大家参考。具体如下: #coding=utf-8 import pickle aa={} aa["title"]="我是...

Pytorch中实现只导入部分模型参数的方式

我们在做迁移学习,或者在分割,检测等任务想使用预训练好的模型,同时又有自己修改之后的结构,使得模型文件保存的参数,有一部分是不需要的(don't expected)。我们搭建的网络对保存...

python+selenium实现自动化百度搜索关键词

python+selenium实现自动化百度搜索关键词

通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索。 1、安装python3,访问官网选择对应的版本安装即可,最新版为3.7。 2、安...