今天就跟大家聊聊有关Python中怎么利用GUI实现一个输入对话框,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
#-*- coding:utf-8 -*-
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中怎么利用GUI实现一个输入对话框有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。