龙空技术网

第17天 | 25天学会wxPython,文本输入

老陈说编程 349

前言:

目前咱们对“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输入多行