在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ wxPython TextCtrl類
wxPython GUI構(gòu)建工具wxFormBuilder
wxPython StaticText類
WxPython教程
wxPython可??看翱?/span>
wxPython ComboBox & Choice類
wxPython FlexiGridSizer布局
wxPython入門(Hello World)
wxPython RadioButton & RadioBox類
wxPython拖放
wxPython HTMLWindow類
wxPython ToolBar類
wxPython GridBagSizer布局
wxPython Dialog類
wxPython布局管理
wxPython TextCtrl類
wxPython開發(fā)環(huán)境安裝
wxPython Slider類
wxPython CheckBox類
wxPython Major類
wxPython GridSizer布局
wxPython事件處理
wxPython SplitterWindow類
Menu Item, Menu & MenuBar類
wxPython Button控件
wxPython StaticBoxSizer布局
wxPython Guage類
wxPython Frame類
wxPython多文檔界面
wxPython Panel類
wxPython BoxSizer布局
wxPython繪圖API

wxPython TextCtrl類

在GUI接口中,輸入是最常見的是在一個(gè)文本框收集,用戶可以使用鍵盤鍵入。 在wxPython中,wx.TextCtrl類的一個(gè)對(duì)象就是用于這一目的。它可以顯示文本和編輯的控制。 TextCtrl小部件可以是單行,多行或密碼字段。TextCtrl類的構(gòu)造函數(shù)形式如下 -
wx.TextCtrl(parent, id, value, pos, size, style) 

樣式(style)參數(shù)接受一個(gè)或多個(gè)常量,如下列表 −

S.N. 參數(shù)&描述
1

wx.TE_MULTILINE

文本控件允許多行。如果未指定該樣式(style),換行字符不應(yīng)該在控件值中使用。

2

wx.TE_PASSWORD

文本將回顯為星號(hào)
3

wx.TE_READONLY

文本將不可編輯
4

wxTE_LEFT

在控件中的文本將左對(duì)齊(默認(rèn))
5

wxTE_CENTRE

在控件中的文本將居中對(duì)齊
6

wxTE_RIGHT

在控件中的文本將居右對(duì)齊

wx.TextCtrl類的重要方法。

下面的事件綁定器負(fù)責(zé)處理事件相關(guān)的TextCtrl框中輸入文字 -
S.N. 事件&描述
1

EVT_TEXT

響應(yīng)變化的文本框的內(nèi)容,或者通過手動(dòng)鍵入,或以編程方式
2

EVT_TEXT_ENTER

調(diào)用相關(guān)的處理程序當(dāng)Enter鍵在文本框中按下
3

EVT_TEXT_MAXLEN

只要文本長(zhǎng)度進(jìn)入觸發(fā)相關(guān)處理程序達(dá)到SetMaxLength()函數(shù)的值

實(shí)例

在下面的例子中,具有不同屬性的 wx.TextCtrl 類的四個(gè)對(duì)象被放置在面板上。
self.t1 = wx.TextCtrl(panel) 
self.t2 = wx.TextCtrl(panel,style = wx.TE_PASSWORD) 
self.t3 = wx.TextCtrl(panel,size = (200,100),style = wx.TE_MULTILINE) 
self.t4 = wx.TextCtrl ( panel, value = "ReadOnly Text",
   style = wx.TE_READONLY | wx.TE_CENTER ) 
雖然首先是一個(gè)普通的文本框,第二個(gè)是一個(gè)密碼字段。第三個(gè)是多行文本框,而最后一個(gè)文本框是不可編輯的。

第一個(gè)框 EVT_TEXT 綁定器觸發(fā) OnKeyTyped()方法可以處理每個(gè)擊鍵。第二個(gè)框它的最大長(zhǎng)度為5。一旦用戶試圖輸入超過500個(gè)字符,EVT_TEXT_MAXLEN 綁定器發(fā)送運(yùn)行OnMaxLen()函數(shù)。多行文本框響應(yīng)回車鍵按下,因?yàn)镋VT_TEXT_ENTER綁定器。

TextCtr.py 完整的代碼如下 -
import wx
  
class Mywin(wx.Frame): 
   def __init__(self, parent, title): 
      super(Mywin, self).__init__(parent, title = title,size = (350,250))
		
      panel = wx.Panel(self) 
      vbox = wx.BoxSizer(wx.VERTICAL) 
         
      hbox1 = wx.BoxSizer(wx.HORIZONTAL) 
      l1 = wx.StaticText(panel, -1, "文本域") 
		
      hbox1.Add(l1, 1, wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      self.t1 = wx.TextCtrl(panel) 
		
      hbox1.Add(self.t1,1,wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      self.t1.Bind(wx.EVT_TEXT,self.OnKeyTyped) 
      vbox.Add(hbox1) 
		
      hbox2 = wx.BoxSizer(wx.HORIZONTAL)
      l2 = wx.StaticText(panel, -1, "密碼文本") 
		
      hbox2.Add(l2, 1, wx.ALIGN_LEFT|wx.ALL,5) 
      self.t2 = wx.TextCtrl(panel,style = wx.TE_PASSWORD) 
      self.t2.SetMaxLength(5) 
		
      hbox2.Add(self.t2,1,wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      vbox.Add(hbox2) 
      self.t2.Bind(wx.EVT_TEXT_MAXLEN,self.OnMaxLen)
		
      hbox3 = wx.BoxSizer(wx.HORIZONTAL) 
      l3 = wx.StaticText(panel, -1, "多行文本") 
		
      hbox3.Add(l3,1, wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      self.t3 = wx.TextCtrl(panel,size = (200,100),style = wx.TE_MULTILINE) 
		
      hbox3.Add(self.t3,1,wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      vbox.Add(hbox3) 
      self.t3.Bind(wx.EVT_TEXT_ENTER,self.OnEnterPressed)  
		
      hbox4 = wx.BoxSizer(wx.HORIZONTAL) 
      l4 = wx.StaticText(panel, -1, "只讀取文本") 
		
      hbox4.Add(l4, 1, wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      self.t4 = wx.TextCtrl(panel, value = "只讀文本",style = wx.TE_READONLY|wx.TE_CENTER) 
			
      hbox4.Add(self.t4,1,wx.EXPAND|wx.ALIGN_LEFT|wx.ALL,5) 
      vbox.Add(hbox4) 
      panel.SetSizer(vbox) 
        
      self.Centre() 
      self.Show() 
      self.Fit()  
		
   def OnKeyTyped(self, event): 
      print event.GetString() 
		
   def OnEnterPressed(self,event): 
      print "Enter pressed" 
		
   def OnMaxLen(self,event): 
      print "Maximum length reached" 
		
app = wx.App() 
Mywin(None,  'TextCtrl實(shí)例-www.yiibai.com')
app.MainLoop()
上面的代碼產(chǎn)生下面的輸出 -