wxpython学习笔记之wx.TextCtrl

class StaticTextFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'Static Text Example',
                size=(400, 300))
        panel = wx.Panel(self, -1)
        st1 = wx.StaticText(panel,-1,"Basic Control:")
        t1 = wx.TextCtrl(panel,-1,"I’ve entered some text!",size=(150,-1))
        t1.SetInsertionPoint(0)
        st2 = wx.StaticText(panel, -1, "Password:")
        t2 = wx.TextCtrl(panel, -1, "”password", size=(150, -1),style=wx.TE_PASSWORD)
        sizer = wx.FlexGridSizer(cols=2, hgap=6, vgap=6)
        sizer.AddMany([st1, t1,  st2, t2])
        panel.SetSizer(sizer)

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = StaticTextFrame()
    frame.Show()
    app.MainLoop()

wx.TextCtrl类参数

wx.TextCtrl(parent, id, value = ””, pos=wx.DefaultPosition,     size=wx.DefaultSize, style=0, validator=wx.DefaultValidator     name=wx.TextCtrlNameStr)

参数parent, id, pos, size, style, 和 name与wx.Window构造函数的相同。

value 是显示在该控件中的初始文本。

validator参数用于一个wx.Validator。validator通常用于过虑数据以确保只能 键入要接受的数据(数据约束参考https://blog.csdn.net/ygdxt/article/details/89238491

单行文本样式

wx.TE_CENTER:控件中的文本居中

wx.TE_LEFT:控件中的文本左对齐。默认

wx.TE_RIGHT:控件中的文本右对齐。

wx.TE_NOHIDESEL:文本始终高亮显示,只适用于Windows。

wx.TE_PASSWORD:不显示所键入的文本,代替以星号显示。

wx.TE_PROCESS_ENTER:如果使用了这个样式,那么当用户在控件内按下回车 键时,一个文本输入事件被触发。

wx.TE_PROCESS_TAB:如果指定了这个样式,那么通常的字符事件在Tab键按下 时创建(一般意味一个制表符将被插入文本)。否则,tab由对话框来管理,通常是 控件间的切换。

wx.TE_READONLY:文本控件为只读,用户不能修改其中的文本。

多行文本样式

wx.TE_LINEWRAP:对于太长的行,以字符为界换行。某些操作系统可能会忽略该 样式

wx.TE_MULTILINE:文本控件将显示多行

wx.TE_WORDWRAP:对于太长的行,以单词为界换行。许多操作系统会忽略该样 式。

 

常用出来文本的方法

AppendText(text):在尾部添加文本。

WriteText(text):类似于AppendText(),只是写入的文本被放置在当前的插入点

Clear():重置控件中的文本为“”。并且生成一个文本更新事件。

SetValue(value):改变控件中的全部文本。

GetValue()返回控件中所有的 字符串。

Remove(from, to):删除指定范围的文本。

GetLineText(lineNo):返回给定行的文本。(多行文本下)

GetNumberOfLines():返回控件中的行的数量。对于单行,返回1。

响应文本事件

有一个由wx.TextCtrl窗口部件产生的便利的命令事件,你可能想用它。你 需要把相关事件传递给Bind方法以捕获该事件,如下所示

frame.Bind(wx.EVT_TEXT, frame.OnText, text)

EVT_TEXT:当控件中的文本改变时产生该事件。文本因用户的输入或在程序中使 用SetValue()而被改变,都要产生该事件

 

 

注:文章摘自《wxPython in Action》

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一点,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值