#Tkinter教程之Entry篇 #Entry用來輸入單行文本 '''1.第一個Entry程序''' from Tkinter import * root = Tk() Entry(root,text = 'input your text here').pack() root.mainloop() #上面的代碼目的是創建一個Entry對象,並在Entry上顯示'input your text here',運行此代碼,並沒有看到文本的顯示,由此可知與Lable和Button不同,Entry的text屬性不可以設置Entry的文本 '''2.在Entry中設定初始值,使用textvariable將變量與Entry綁定''' from Tkinter import * root = Tk() e = StringVar() entry = Entry(root,textvariable = e) e.set('input your text here') entry.pack() root.mainloop() #上面的例子中將變量e與Entry綁定,然后將e的值設置為'input your text here',程序運行時的初始值便設置了。 '''3.設置為只讀Entry. Entry的另一個比較有用的屬性,設置為只讀,不允許用戶對它的值改變。 設置state屬性為'readonly' ''' from Tkinter import * root = Tk() e = StringVar() entry = Entry(root,textvariable = e) e.set('input your text here') entry.pack() entry['state'] = 'readonly' root.mainloop() #實際上Entry的屬性值可以使用的也為normal/active/disabled,'readonly'與disabled一樣 '''4.設置為密碼輸入框 #將Entry作為一個密碼輸入框來使用,即不顯示用戶輸入的內容值,用特定符號代替。使用用屬性 show來指定。 ''' from Tkinter import * root = Tk() e = StringVar() entry = Entry(root,textvariable = e) e.set('input your text here') entry.pack() #使用*來顯示輸入的內容,如果喜歡可以改為其它字符 entry['show'] = '*' #分別使用*#$顯示輸入的文本內容 for mask in ['*','#','$']: e = StringVar() entry = Entry(root,textvariable = e) e.set('password') entry.pack() entry['show'] = mask root.mainloop() '''5.驗證輸入的內容是否符合要求。 使用validate來校驗輸入的內容 使用validate方法來限制輸入的內容 這是一個有問題的例子,無法調用validateText回調函數 ‘''' from Tkinter import * root = Tk() e = StringVar() def validateText(contents): print contents return contents.isalnum() entry = Entry(root,validate = 'key',textvariable = e,validatecommand = validateText) entry.pack() root.mainloop() ''' 文檔中說明使用validate來接受的事件,使用validatecommand來確定輸入的內容是否合法,但 如何傳入參數?沒找到相應的說明 ''' #還有其他的屬性fg/bg/relief/width/height/justify/state使用方法與Button相同,不再舉例。 #author: jcodeer #blog: jcodeer.cublog.cn #email: jcodeer@126.com