wxPython控件学习之TextCtrl(一)单行文本框

发布时间:2019-08-02编辑:脚本学堂
wxPython控件学习之TextCtrl(一)单行文本框

wxpython控件学习之TextCtrl(一)单行文本框
 

复制代码 代码如下:

#!/usr/bin/env python
#coding:UTF-8
'''
Created on 2010-5-14

wxPython的文本输入控件(wx.TextCtrl)操作范例

@author: zyl508@gmail.com
'''

import wx

class TextFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,None,-1,"Example For TextCtrl",
                         size=(300,100))
        panel=wx.Panel(self,-1)
       
        #添加用户名 文本输入框
        userLabel=wx.StaticText(panel,-1,"User Name:")
        userText=wx.TextCtrl(panel,-1,"Entry your name",
                             size=(175,-1))
        #设置默认的插入点,整数索引,开始位置为0
        userText.SetInsertionPoint(0)
       
        #添加密码 输入框
        passwdLabel=wx.StaticText(panel,-1,"Password:")
        passwdText=wx.TextCtrl(panel,-1,'',size=(175,-1),
                               style=wx.TE_PASSWORD)
        #用sizer控制界面布局
        sizer=wx.FlexGridSizer(cols=2,hgap=6,vgap=6)
        sizer.AddMany([userLabel,userText,passwdLabel,passwdText])
        panel.SetSizer(sizer)

class MyApp(wx.App):
    def OnInit(self):
        frame=TextFrame()
        frame.Show(True)
        return True #如果没有返回值,结果一闪而过,不能驻留窗口

def main():
    app=MyApp()
    app.MainLoop()

if __name__=="__main__":
    main()

****************************************************************
wx.TextCtrl(文本输入控件)的参数有:
wx.TextCtrl(parent,id,value="",pos=wx.DefaultPosition,size=wx.DefaultSize,
style=0,validator=wx.DefaultValidator,name=wx.TextCtrlNameStr)

value: 文本框中的初始文本。
validator:过滤数据以确保键入的数据有效。
****************************************************************
///
style参数的可选值:
   wx.TE_CENTER:输入框中的文本居中对齐。
   wx.TE_LEFT:左对齐,默认行为。
   wx.TE_RIGHT:右对齐。
   wx.TE_PASSWORD:不显示输入的文本,以星号遮掩。
   wx.TE_PROCESS_ENTER:输入框中按回车键将触发事件,否则由窗体控制输入框数据。
   wx.TE_NOHIDSEL:文本始终高亮显示,只适用于Windows。
   wx.TE_PROCESS_TAB:输入框接受制表符,否则由窗体控制TAB切换焦点。
   wx.TE_readonly:输入框的内容为只读,用户不能修改其中的内容。
///

==============在不输入的情况下如何修改文本框的内容===============
适用于:
     ①style=wx.TE_READONLY模式
     ②根据事件而非用户键盘输入来改变文本框内容

AppendText(str):尾部添加
Clear():清空输入框为"",并生成文本更新事件。

EmulateKeyPress(event):产生一个按键事件,插入与事件相符的控制符,就如同
                       按了该按键一样。

GetInsertionPoint():得到插入点位置,结果为Int型
SetInsertionPoint(pos): pos为整型索引值,0为开始位置
SetInsertionPointEnd(): 从结尾插入
GetRange(from,to):返回输入框中位置索引从from到to范围内的字符串
GetSelection():以元组的形式返回当前输入框文本位置的索引范围(开始,结束)。
GetStringSelection():得到选择的字符串。
SetSelection(from,to):按指定索引范围(from,to)设置选择的文本。
GetValue():返回控件中的字符串。
SetValue():覆盖控件中的文本。
Remove(from,to):删除指定范围的文本。
Replace(from,to,value):用指定值替换从from到to范围的文本。
WriteText(str):效果同AppendText(),只是从当前插入点开始插入。