| 參數(shù) | 含義 |
|---|---|
| borderwidth | 邊界寬度 默認(rèn)是兩個(gè)像素 |
| bd | 邊界寬度 默認(rèn)是兩個(gè)像素 |
| background | 背景色彩 |
| bg | 背景色彩 |
| command | 當(dāng)用戶更改內(nèi)容時(shí),會(huì)自動(dòng)執(zhí)行此函數(shù) |
| cursor | 當(dāng)鼠標(biāo)光標(biāo)移至按鈕上時(shí)的形狀 |
| exportselection | 如果執(zhí)行選取時(shí),所選取的字符串會(huì)自動(dòng)輸出至剪貼板 如果想要避免,可以設(shè)置exportselection=0 |
| foreground | 前景色彩 |
| fg | 前景色彩 |
| font | 字形 |
| height | 高,單位是字符高 |
| highlightbackground | 當(dāng)功能按鈕獲取焦點(diǎn)時(shí)的背景顏色 |
| highlightcolor | 當(dāng)工人按鈕取得焦點(diǎn)時(shí)的顏色 |
| justify | 當(dāng)有多行文字時(shí),最后一行文字的對(duì)齊方式 |
| relief | 可由此控制文字外框 默認(rèn)是relief=FLAT |
| selectbackground | 被選取字符串的背景色彩 |
| selectborderwidth | 選取字符串時(shí)的邊界寬度 預(yù)設(shè)是1 |
| selectfroeground | 被選取字符串的前景色彩 |
| show | 顯示輸入字符 例如,show='*'表示顯示星號(hào),常用于輸入密碼字段 |
| state | 輸入狀態(tài) 默認(rèn)是NORMAL表示可以輸入,DISABLE則表示無法輸入 |
| textvariable | 文字變量 |
| width | 寬,單位是字符寬 |
| xscrollcommand | 在X軸使用滾動(dòng)條 |
例子:建立標(biāo)簽和文本框,輸入姓名和地址
import tkinter root = tkinter.Tk() label1 = tkinter.Label(root, text="姓名 :") label2 = tkinter.Label(root, text="住址 :") label1.grid(row=0) label2.grid(row=1) entry1 = tkinter.Entry(root) entry2 = tkinter.Entry(root) entry1.grid(row=0, column=1) entry2.grid(row=1, column=1) root.mainloop()
運(yùn)行結(jié)果:

設(shè)置grid(row=0),在沒有設(shè)置column=x的情況下,系統(tǒng)自動(dòng)設(shè)置column=0
其實(shí)Entry控件具有可以使用show參數(shù)設(shè)置隱藏輸入字符的特性,所以也常被應(yīng)用在用于輸入密碼的時(shí)候
例子:密碼的輸入,用*隱藏
import tkinter root = tkinter.Tk() label1 = tkinter.Label(root, text="賬號(hào) :") label2 = tkinter.Label(root, text="密碼 :") label1.grid(row=0) label2.grid(row=1) entry1 = tkinter.Entry(root) entry2 = tkinter.Entry(root, show="*") entry1.grid(row=0, column=1) entry2.grid(row=1, column=1) root.mainloop()
運(yùn)行結(jié)果:

Entry 有一個(gè)get()方法,可以利用這個(gè)方法來獲取目前Entry 的字符串內(nèi)容
import tkinter
def getValue():
print("賬號(hào)為{}, 密碼為{}".format(entry1.get(), entry2.get()))
root = tkinter.Tk()
label1 = tkinter.Label(root, text="賬號(hào) :")
label2 = tkinter.Label(root, text="密碼 :")
label1.grid(row=0)
label2.grid(row=1)
entry1 = tkinter.Entry(root)
entry2 = tkinter.Entry(root, show="*")
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
buttonLogin = tkinter.Button(root, text="登錄", command=getValue)
buttonExit = tkinter.Button(root, text="退出", command=root.quit)
buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)
buttonExit.grid(row=2, column=1)
root.mainloop()
運(yùn)行結(jié)果:

我們輸入賬號(hào)密碼,點(diǎn)擊登錄
賬號(hào)為123456, 密碼為132456
控制臺(tái)就出現(xiàn)了我們所需要的的信息
在設(shè)計(jì)GUI程序時(shí),常常需要在建立Entry的文本框內(nèi)默認(rèn)建立輸入文字,在Widget控件中可以使用insert(index, s)方法插入字符串
其中s是所插入的字符串,字符串會(huì)插在index位置
例子:建立默認(rèn)文字內(nèi)容
import tkinter
def getValue():
print("賬號(hào)為{}, 密碼為{}".format(entry1.get(), entry2.get()))
root = tkinter.Tk()
label1 = tkinter.Label(root, text="賬號(hào) :")
label2 = tkinter.Label(root, text="密碼 :")
label1.grid(row=0)
label2.grid(row=1)
entry1 = tkinter.Entry(root)
entry2 = tkinter.Entry(root, show="*")
# 默認(rèn)賬號(hào)內(nèi)容
entry1.insert(0, "123456")
# 默認(rèn)密碼內(nèi)容
entry2.insert(0, "123456")
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
buttonLogin = tkinter.Button(root, text="登錄", command=getValue)
buttonExit = tkinter.Button(root, text="退出", command=root.quit)
buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)
buttonExit.grid(row=2, column=1)
root.mainloop()
運(yùn)行結(jié)果:

在tkinter模塊的應(yīng)用中可以使用delete(first, last=None)方法刪除Entry內(nèi)的從第first字符到last-1字符間的字符串,如果要?jiǎng)h除整個(gè)字符串可以使用delete(0, END)
如果刪除倒數(shù)第一個(gè),我們可以用len()方法判斷長(zhǎng)度,然后長(zhǎng)度減一就行
例子:?jiǎn)螕魟h除按鈕清空文本框內(nèi)容
import tkinter
def getValue():
print("賬號(hào)為{}, 密碼為{}".format(entry1.get(), entry2.get()))
# 刪除的方法
def deleteValue():
entry1.delete(0, tkinter.END)
entry2.delete(0, tkinter.END)
root = tkinter.Tk()
label1 = tkinter.Label(root, text="賬號(hào) :")
label2 = tkinter.Label(root, text="密碼 :")
label1.grid(row=0)
label2.grid(row=1)
entry1 = tkinter.Entry(root)
entry2 = tkinter.Entry(root, show="*")
# 默認(rèn)賬號(hào)內(nèi)容
entry1.insert(0, "123456")
# 默認(rèn)密碼內(nèi)容
entry2.insert(0, "123456")
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
buttonLogin = tkinter.Button(root, text="登錄", command=getValue)
# 調(diào)用刪除的方法
buttonExit = tkinter.Button(root, text="刪除", command=deleteValue)
buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)
buttonExit.grid(row=2, column=1)
root.mainloop()
運(yùn)行結(jié)果:

例子:刪除最后一個(gè)
def deleteValue():
len_entry = len(entry1.get())
entry1.delete(len_entry - 1)
entry2.delete(0, tkinter.END)
運(yùn)行結(jié)果:

如果只有一個(gè)參數(shù)的話,那這個(gè)參數(shù)將是first,如不是last,len_entry - 1相當(dāng)于是從到底第一個(gè)開始刪除,一直到末尾
Python有一個(gè)非常好用的計(jì)算數(shù)學(xué)表達(dá)式的函數(shù)eval
該函數(shù)可以直接傳回此數(shù)學(xué)表達(dá)式的計(jì)算結(jié)果,它的語法格式:
"""expression為字符串""" result = eval(expression)
例子:
import tkinter
def getValue():
try:
value = eval(entry.get())
label2.configure(text="計(jì)算結(jié)果為:" + str(value))
except:
pass
root = tkinter.Tk()
label = tkinter.Label(root, text="請(qǐng)輸入數(shù)學(xué)表達(dá)式:")
label.pack(anchor=tkinter.W)
entry = tkinter.Entry(root)
entry.pack(pady=5)
label2 = tkinter.Label(root)
label2.pack()
button = tkinter.Button(root, text="計(jì)算", command=getValue)
button.pack(pady=5)
root.mainloop()
運(yùn)行結(jié)果:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:株洲 銅川 呂梁 通遼 黑龍江 潛江 常德 阿里
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python tkinter Entry控件的焦點(diǎn)移動(dòng)操作》,本文關(guān)鍵詞 python,tkinter,Entry,控件,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。