1. Entry控件
Entry控件的作用是在鍵盤輸入的文本信息,它的語法格式如下:
my_entry = Entry(容器,可選項(xiàng))
容器即內(nèi)容放入的位置,可選項(xiàng)和上一節(jié)我們學(xué)習(xí)提到的Button中的可選項(xiàng)類似, 可選擇的有:
樣式 | 功能 |
bg和bd | 背景顏色和邊框大小 |
cursor | 光標(biāo)的形狀 |
font | 文本字體 |
exportselection | 文本框內(nèi)容是否復(fù)制功能 |
fg | 文字顏色 |
highlightcolor | 邊框高亮的顏色 |
justify | 對齊方式 |
relief | 邊框樣式 |
selectbackground | 選擇的文本背景顏色 |
selectborderwidth | 選擇的文本背景邊框?qū)挾?/td> |
selectforeground | 選擇的文字顏色 |
state | 只讀或可寫控制 |
textvariable | 文本框的值 |
width | 文本框?qū)挾?/td> |
xscrollcommand | 水平方向滾動(dòng)條 |
2. Entry控件常用的方法
1) delete(first, last=None)
刪除first-last中的所有內(nèi)容,如果使用delete(0,END)則刪除輸入框的所有內(nèi)容。
2) get()
獲取輸入框內(nèi)的所有內(nèi)容。
3) icursor(index)
移動(dòng)光標(biāo)到index參數(shù)的位置。
4) index(index)
返回index參數(shù)對應(yīng)的序號。
5) insert(index, text)
把text參數(shù)中的內(nèi)容插入到索引為index的位置。
6) Select_clear()
清空文本框。
7) xview(index)
設(shè)置文本框鏈接的水平滾動(dòng)條。
3. Entry控件的使用
我們通過實(shí)例來使用一下Entry控件。
import tkinter win = tkinter.Tk() Frame_one = tkinter.Frame(win)#先創(chuàng)建一個(gè)容器放上面存放登錄 Frame_one.pack(side = 'top') Frame_two = tkinter.Frame(win)#再創(chuàng)建一個(gè)容器放中間存放密碼 Frame_two.pack() Frame_three = tkinter.Frame(win)#再創(chuàng)建一個(gè)容器在下面存放按鈕 Frame_three.pack(side = 'bottom') Label_one = tkinter.Label(Frame_one,text = '姓名:') Lable_two = tkinter.Label(Frame_two,text = '密碼:') Entry_one = tkinter.Entry(Frame_one,bd = 5) Entry_two = tkinter.Entry(Frame_two,bd = 5) Button_one = tkinter.Button(Frame_three,text = '登錄',activeforeground = 'red',activebackground = 'yellow',width = '7') Button_one.pack(side = 'left') Button_two = tkinter.Button(Frame_three,text = '注冊',activeforeground = 'blue',activebackground = 'pink',width = '7') Button_two.pack(side = 'right') Label_one.pack(side = 'left') Entry_one.pack(side = 'right') Lable_two.pack(side = 'left') Entry_two.pack(side = 'right') win.mainloop()
輸出結(jié)果為:
我們首先在窗口中放置了三個(gè)容器,從上到下依次存放姓名、密碼和按鈕,然后再姓名后面放一個(gè)Entry控件,供我們輸入姓名,在密碼對應(yīng)的后面放一個(gè)Enrty控件來輸入密碼,最后在下面放兩個(gè)按鈕分別提供登錄和注冊,最后我們把他們的位置放在左右一一對應(yīng)。
我們再通過函數(shù)的綁定來測試登錄信息。
import tkinter as tk import tkinter.messagebox win = tk.Tk() frame_name = tk.Frame(win)#創(chuàng)建容器來存放登陸的Label(文本框)與Entry(輸入框) frame_name.pack(side="top")#使該容器在頁面的頂部 label_name = tk.Label(frame_name, text="Your Name : ") label_name.pack(side="left") entry_name = tk.Entry(frame_name, bd=5) entry_name.pack(side="right")#在容器內(nèi)創(chuàng)建Label與Entry,并使label在左,entry在右 # 下面的同理: frame_password = tk.Frame(win) frame_password.pack() label_password = tk.Label(frame_password, text="Your Password : ") label_password.pack(side="left") entry_password = tk.Entry(frame_password, bd=5) entry_password.pack(side="right") def login(): if entry_name.get() == "qy": if entry_password.get() == "dotcpp": print(tkinter.messagebox.showinfo("login", "Success!")) else: print(tkinter.messagebox.showerror("login", "Failed!")) entry_name.delete(0, "end") entry_password.delete(0,"end") else: print(tkinter.messagebox.showerror("login", "Failed!")) entry_name.delete(0, "end") entry_password.delete(0,"end") def signin(): print(tkinter.messagebox.showerror("signin", "Without Code!"))#必須先定義函數(shù),否則點(diǎn)擊按鈕調(diào)用函數(shù)時(shí)會(huì)報(bào)函數(shù)不存在的錯(cuò)誤 frame_button = tk.Frame(win)#創(chuàng)建容器以存放按鈕 frame_button.pack(side="bottom")#使該容器位于頁面最下方 button_login = tk.Button( frame_button, text="login", activeforeground="red", activebackground="yellow", width="7", command=login # command的意思是執(zhí)行已定義的函數(shù),不可執(zhí)行下文中出現(xiàn)的函數(shù)(未定義的函數(shù)) ) button_login.pack(side="left") # 下面的同理: button_signin = tk.Button( frame_button, text="signin", activeforeground="blue", activebackground="pink", width="7", command=signin, ) button_signin.pack(side="right") win.mainloop()
輸出的界面為:
當(dāng)我們輸入qy和dotcpp時(shí)如下:
如果輸入其他內(nèi)容顯示如下:
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程