Tkinter Entry 輸入框



Entry 小部件用於接收使用者輸入的單行文字字串。

  • 如果要顯示可以編輯的多行文字,則應使用 Text 小部件。

  • 如果要顯示使用者無法修改的一行或多行文字,則應使用 Label 小部件。

語法

以下是建立此小部件的簡單語法:

w = Entry( master, option, ... )

引數

  • master − 表示父視窗。

  • options − 以下是此小部件最常用選項的列表。這些選項可以用逗號分隔的鍵值對使用。

序號 選項及描述
1

Bg

標籤和指示器後面顯示的普通背景顏色。

2

Bd

指示器周圍邊框的大小。預設為 2 畫素。

3

Command

每次使用者更改此複選框狀態時要呼叫的過程。

Cursor

如果將此選項設定為游標名稱(箭頭、點等),則當滑鼠懸停在複選框上時,滑鼠游標將更改為該圖案。

4

Font

用於文字的字型。

5

Exportselection

預設情況下,如果在 Entry 小部件中選擇文字,則會自動將其匯出到剪貼簿。要避免此匯出,請使用 exportselection=0。

6

Fg

用於呈現文字的顏色。

7

Highlightcolor

複選框獲得焦點時焦點高亮的顏色。

8

Justify

如果文字包含多行,則此選項控制文字的對齊方式:CENTER、LEFT 或 RIGHT。

9

Relief

使用預設值 relief=FLAT,複選框不會從其背景中脫穎而出。您可以將此選項設定為任何其他樣式。

10

selectbackground

用於顯示所選文字的背景顏色。

11

selectborderwidth

圍繞所選文字使用的邊框寬度。預設為 1 個畫素。

12

selectforeground

所選文字的前景色(文字)顏色。

13

Show

通常,使用者鍵入的字元會顯示在條目中。要建立一個將每個字元作為星號顯示的“.password.”條目,請設定 show="*”。

14

State

預設為 state=NORMAL,但可以使用 state=DISABLED 將控制元件變灰並使其無響應。如果游標當前位於複選框上,則狀態為 ACTIVE。

15

Textvariable

為了能夠從 Entry 小部件中檢索當前文字,必須將此選項設定為 StringVar 類的例項。

16

Width

複選按鈕的預設寬度由顯示的影像或文字的大小決定。您可以將此選項設定為字元數,複選按鈕將始終為這麼多字元預留空間。

17

xscrollcommand

如果您預計使用者經常輸入的文字會超過小部件的螢幕顯示尺寸,則可以將您的輸入小部件連結到一個捲軸。

方法

以下是此小部件常用的方法:

序號 方法和描述
1

delete ( first, last=None )

刪除小部件中的字元,從索引為 first 的字元開始,直到但不包括索引為 last 的字元。如果省略第二個引數,則僅刪除索引為 first 的單個字元。

2

get()

將輸入框的當前文字作為字串返回。

3

icursor ( index )

將插入游標設定在給定索引處的字元之前。

4

index ( index )

移動輸入框的內容,以便給定索引處的字元成為最左邊的可見字元。如果文字完全適合輸入框,則無效。

5

insert ( index, s )

在給定索引處的字元之前插入字串 s。

6

select_adjust ( index )

此方法用於確保選擇包含指定索引處的字元。

7

select_clear()

清除選擇。如果當前沒有選擇,則無效。

8

select_from ( index )

將錨點索引位置設定為索引選擇的字元,並選擇該字元。

9

select_present()

如果有選擇,則返回 true,否則返回 false。

10

select_range ( start, end )

在程式控制下設定選擇。選擇從起始索引開始的文字,直到但不包括結束索引處的字元。起始位置必須在結束位置之前。

11

select_to ( index )

選擇從錨點位置到但不包括給定索引處的字元的所有文字。

12

xview ( index )

此方法可用於將 Entry 小部件連結到水平捲軸。

13

xview_scroll ( number, what )

用於水平滾動輸入框。what 引數必須是 UNITS,按字元寬度滾動,或 PAGES,按輸入框大小的塊滾動。number 為正表示從左到右滾動,為負表示從右到左滾動。

示例

自己嘗試以下示例:

from tkinter import *

top = Tk()
L1 = Label(top, text="User Name")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)
E1.pack(side = RIGHT)

top.mainloop()

執行上述程式碼後,將產生以下結果:

tkinter entry
python_gui_programming.htm
廣告