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
广告