前言:
目前咱们对“python输入多行”大概比较着重,咱们都需要知道一些“python输入多行”的相关知识。那么小编同时在网络上网罗了一些有关“python输入多行””的相关资讯,希望各位老铁们能喜欢,兄弟们一起来学习一下吧!文本输入wx.TextCtrl组件,属性style= 0时,为单行文本输入框;style= wx.TE_PASS
WORD时,为密码输入框;style=wx.TE_MULTILINE为多行文本输入框。
程序清单:text.py
import wx# 创建验证器class Validator(wx.Validator): def __init__(self): wx.Validator.__init__(self) self.ValidInput = ["a", "b", "c"] self.Bind(wx.EVT_TEXT, self.OnChanged) # 绑定字符改变事件 def Clone(self): return Validator() def OnChanged(self, win): text_ctrl = self.GetWindow() text = text_ctrl.GetValue() if text in self.ValidInput: print("输入的内容OK") return True else: print("输入的内容不符合要求") return False def TransferToWindow(self): return True def TransferFromWindow(self): return True# 继承Frameclass TextCtrl(wx.Frame): def __init__(self, *args, **kwargs): super(TextCtrl, self).__init__(*args, **kwargs) # 初始化窗口UI self.init_ui() def init_ui(self): # 面板 panel = wx.Panel(self) # 单行文本输入框(加了验证器) wx.TextCtrl(panel, id=wx.ID_ANY, validator=Validator(), pos=(20, 20), size=(200, -1)) # 密码输入框 password = wx.TextCtrl(panel, id=wx.ID_ANY, style=wx.TE_PASSWORD, pos=(20, 60), size=(200, -1)) # 多行文本框 multi_text = wx.TextCtrl(panel, id=wx.ID_ANY, style=wx.TE_MULTILINE, pos=(20, 100), size=(200, 80)) self.Bind(wx.EVT_TEXT, self.input, password) self.Bind(wx.EVT_TEXT, self.input, multi_text) self.SetSize(900, 500) self.SetTitle("文本输入的应用") self.Centre() self.Show(True) def input(self, e): slider = e.GetEventObject() value = slider.GetValue() print(value)def main(): app = wx.App(False) TextCtrl(None) app.MainLoop()if __name__ == "__main__": main()
运行程序之后,弹出的窗口如下:
一个wx.TextCtrl组件,可以满足单行、密码和多行输入的需求,真好。事件绑定都可以用wx.EVT_TEXT类型,真的方便。
在好多组件中,都有validator这个属于,它用于绑定验证器,验证输入内容是否符合要求,如果不符合,就进行提醒提示。验证器继承wx.Validator类之后,实现相关的业务逻辑就可以了。
好了,文本输入的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!
#python##好平台好讲师##程序员##热搜##桌面#
标签: #python输入多行