wxPython實現(xiàn)文本框基礎(chǔ)組件-創(chuàng)新互聯(lián)

本文實例為大家分享了wxPython實現(xiàn)文本框的具體代碼,供大家參考,具體內(nèi)容如下

十余年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站定制,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁制作,對服務(wù)器托管等多個方面,擁有豐富的網(wǎng)站建設(shè)經(jīng)驗。
#-*- coding:utf-8 -*-
"""
#############################################
StaticText 參數(shù)說明 --即 label
parent: -- 父窗口部件。
id: -- 標識符。使用-1可以自動創(chuàng)建一個唯一的標識。
label: -- 你想顯示在靜態(tài)控件中的文本。
pos: -- 一個wx.Point或一個Python元組,它是窗口部件的位置。
size: -- 一個wx.Size或一個Python元組,它是窗口部件的尺寸。
style: -- 樣式標記。
name: -- 對象的名字,用于查找的需要。
----------------------------------------------
style -- 對齊參數(shù)
ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT,
ST_NO_AUTORESIZE: -- 靜態(tài)文本控件不將自我調(diào)整尺寸
#############################################
創(chuàng)建一個字體
wx.Font(pointSize, family, style, weight, underline=False, faceName="", encoding=wx.FONTENCODING_DEFAULT)
family -- 參數(shù)說明
wx.DECORATIVE:一個正式的,老的英文樣式字體。
wx.DEFAULT:系統(tǒng)默認字體。
wx.MODERN:一個單間隔(固定字符間距)字體。
wx.ROMAN:serif字體,通常類似于Times New Roman。
wx.SCRIPT:手寫體或草寫體
wx.SWISS:sans-serif字體,通常類似于Helvetica或Arial。
style -- 參數(shù)說明 wx.NORMAL, wx.SLANT, wx.ITALIC
weight -- 參數(shù)說明 wx.NORMAL, wx.LIGHT, wx.BOLD
#############################################
input與textArea 參數(shù)說明
單行樣式
wx.TE_CENTER:控件中的文本居中。
wx.TE_LEFT:控件中的文本左對齊。默認行為。
wx.TE_NOHIDESEL:文本始終高亮顯示,只適用于Windows。
wx.TE_PASSWORD:不顯示所鍵入的文本,代替以星號顯示。
wx.TE_PROCESS_ENTER:如果使用了這個樣式,那么當用戶在控件內(nèi)按下回車鍵時,一個文本輸入事件被觸發(fā)。否則,按鍵事件內(nèi)在的由該文本控件或該對話框管理。
wx.TE_PROCESS_TAB:如果指定了這個樣式,那么通常的字符事件在Tab鍵按下時創(chuàng)建(一般意味一個制表符將被插入文本)。否則,tab由對話框來管理,通常是控件間的切換。
wx.TE_READONLY:文本控件為只讀,用戶不能修改其中的文本。
wx.TE_RIGHT:控件中的文本右對齊。
----------------------------------------------
多單行樣式
wx.HSCROLL:如果文本控件是多行的,并且如果該樣式被聲明了,那么長的行將不會自動換行,并顯示水平滾動條。該選項在GTK+中被忽略。
wx.TE_AUTO_URL:如果豐富文本選項被設(shè)置并且平臺支持的話,那么當用戶的鼠標位于文本中的一個URL上或在該URL上敲擊時,這個樣式將導致一個事件被生成。
wx.TE_DONTWRAP:wx.HSCROLL的別名。
wx.TE_LINEWRAP:對于太長的行,以字符為界換行。某些操作系統(tǒng)可能會忽略該樣式。
wx.TE_MULTILINE:文本控件將顯示多行。
wx.TE_RICH:用于Windows下,豐富文本控件用作基本的窗口部件。這允許樣式文本的使用。
wx.TE_RICH2:用于Windows下,把最新版本的豐富文本控件用作基本的窗口部件。
wx.TE_WORDWRAP:對于太長的行,以單詞為界換行。許多操作系統(tǒng)會忽略該樣式。
----------------------------------------------
動態(tài)修改文本內(nèi)容
AppendText(text):在尾部添加文本。
Clear():重置控件中的文本為“”。并且生成一個文本更新事件。
EmulateKeyPress(event):產(chǎn)生一個按鍵事件,插入與事件相關(guān)聯(lián)的控制符,就如同實際的按鍵發(fā)生了。
GetInsertionPoint() SetInsertionPoint(pos) SetInsertionPointEnd():得到或設(shè)置插入點的位置,位置是整型的索引值??丶拈_始位置是0。
GetRange(from, to):返回控件中位置索引范圍內(nèi)的字符串。
GetSelection() GetStringSelection() SetSelection(from, to):
GetSelection()以元組的形式返回當前所選擇的文本的起始位置的索引值(開始,結(jié)束)。
GetStringSelection()得到所選擇的字符串。
SetSelection(from, to)設(shè)置選擇的文本。
GetValue() SetValue(value):SetValue()改變控件中的全部文本。GetValue()返回控件中所有的字符串。
Remove(from, to):刪除指定范圍的文本。
Replace(from, to, value):用給定的值替換掉指定范圍內(nèi)的文本。這可以改變文本的長度。
WriteText(text):類似于AppendText(),只是寫入的文本被放置在當前的插入點。
"""
 
__author__ = 'pc'
import wx
 
 
class StaticTextFrame(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, -1, u'這是Static Text Example', size=(400, 300))
 
    box_sizer = wx.WrapSizer()
    self.SetAutoLayout(True)
    self.SetSizer(box_sizer)
 
    ########## Label ##########
    static_text = wx.StaticText(self, -1, u'這是個Label', style=wx.ALIGN_CENTER)
    static_text.SetForegroundColour('red') #顏色
    wx_font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
    static_text.SetFont(wx_font)
    box_sizer.Add(static_text)
 
    ########## 單行文本框 ##########
    input_text = wx.TextCtrl(self, -1, u'input', size=(175, -1))
    input_text.SetInsertionPoint(0)
    box_sizer.Add(input_text)
 
    ########## 多行文本框 ##########
    self.area_text = wx.TextCtrl(self, -1, u'textArea多行文本,可Ctrl+A', size=(200, 100),
                   style=(wx.TE_MULTILINE | wx.TE_AUTO_SCROLL | wx.TE_DONTWRAP))
    self.area_text.SetInsertionPoint(0)
    self.area_text.Bind(wx.EVT_KEY_UP, self.OnSelectAll)
    box_sizer.Add(self.area_text)
 
 
    ########## 富文本框 ##########
    self.rich_text = wx.TextCtrl(self, -1, u'rich富文本', size=(200, 100),
                   style=(wx.TE_MULTILINE | wx.TE_AUTO_SCROLL | wx.TE_DONTWRAP | wx.TE_RICH2))
    self.rich_text.SetInsertionPoint(0)
    #設(shè)置文本樣式 len(rich_text.GetValue())
    f = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.BOLD, True) #創(chuàng)建一個字體
    self.rich_text.SetStyle(0, self.rich_text.GetLastPosition(), wx.TextAttr("red", "green", f))
 
    box_sizer.Add(self.rich_text)
 
  #自定義 多行文本框 全選
  def OnSelectAll(self, event):
    if (event.GetKeyCode() == 65 and event.ControlDown()):
      self.area_text.SelectAll()
 
 
if __name__ == '__main__':
  root = wx.App()
  frame = StaticTextFrame()
  frame.Show()
  root.MainLoop()

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站欄目:wxPython實現(xiàn)文本框基礎(chǔ)組件-創(chuàng)新互聯(lián)
標題路徑:http://muchs.cn/article46/ejshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、動態(tài)網(wǎng)站、建站公司、App開發(fā)虛擬主機、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站