网上找了个 TextCtrl 单行文本框的例子, 挺好,保存下来


#!/usr/bin/env python
#coding:UTF-8

import wx

class TextFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,None,-1,u"请登录", size=(400,400))
        panel=wx.Panel(self, -1)
        
        #添加用户名 文本输入框
        userLabel = wx.StaticText(panel, -1 , u"用户名:")
        userText  = wx.TextCtrl(panel, -1, u"admin", size = (175,-1))

        #设置默认的插入点,整数索引,开始位置为0
        userText.SetInsertionPoint(0)
        
        #添加密码 输入框
        passwdLabel = wx.StaticText(panel, -1, u"密码:")
        passwdText  = wx.TextCtrl(panel, -1, '123456', 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)
        self.Center()

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(),只是从当前插入点开始插入。

 


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐