Python Tkinter Entry



Python Tkinter Entry 小组件用于接受来自用户的单行文本字符串。

  • 如果要显示多行可编辑的文本,则应使用 Text Widget。
  • 如果要显示用户无法修改的一行或多行文本,则应使用 Label 小组件。

语法

以下是创建此小部件的简单语法 -


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

参数

  • master - 这表示父窗口。
  • options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 描述
Bg

显示在标签和指示器后面的正常背景色。

Bd

指标周围边界的大小。默认值为 2 像素。

Command

每次用户更改此 checkbutton 的状态时要调用的过程。

Cursor

如果你将此选项设置为光标名称(箭头、点等),则鼠标光标在越过复选按钮时将变为该模式。

Font

用于文本的字体。

Exportselection

默认情况下,如果您在 Entry 构件中选择文本,则它会自动导出到剪贴板。要避免此导出,请使用 exportselection=0。

Fg

用于呈现文本的颜色。

Highlightcolor

当 checkbutton 具有焦点时,焦点的颜色会突出显示。

Justify

如果文本包含多行,则此选项控制文本的两端对齐方式:CENTER、LEFT 或 RIGHT。

Relief

使用默认值 relief=FLAT 时,checkbutton 不会从其背景中突出显示。您可以将此选项设置为任何其他样式。

selectbackground

用于显示所选文本的背景色。

selectborderwidth

要在所选文本周围使用的边框宽度。默认值为 1 像素。

selectforeground

所选文本的前景色(文本)。

Show

通常,用户键入的字符会显示在条目中。要创建一个 .password.将每个字符回显为星号的条目,请设置 show=“*”。

State

默认值为 state=NORMAL,但您可以使用 state=DISABLED 使控件变灰并使其无响应。如果光标当前位于复选按钮上,则状态为 ACTIVE。

Textvariable

为了能够从入口小部件中检索当前文本,您必须将此选项设置为 StringVar 类的实例。

Width

checkbutton 的默认宽度由显示的图像或文本的大小决定。您可以将此选项设置为多个字符,并且 checkbutton 将始终有空间容纳该字符 许多角色。

xscrollcommand

如果预计用户输入的文本通常多于窗口小部件的屏幕大小,则可以将输入窗口小部件链接到滚动条。

方法

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

方法 描述
delete ( first, last=None )

从窗口小部件中删除字符,从索引处的字符开始,直到最后位置的字符,但不包括最后位置的字符。如果省略第二个参数,则仅删除第一个位置的单个字符。

get()

以字符串形式返回条目的当前文本。

icursor ( index )

将插入光标设置在给定索引处的字符之前。

index ( index )

移动条目的内容,使给定索引处的字符是最左侧的可见字符。如果文本完全适合条目,则不起作用。

insert ( index, s )

在给定索引处的字符前插入字符串 s。

select_adjust ( index )

此方法用于确保所选内容包含指定索引处的字符。

select_clear()

清除所选内容。如果当前没有选择,则不起作用。

select_from ( index )

将 ANCHOR 索引位置设置为通过索引选择的字符,然后选择该字符。

select_present()

如果存在选择,则返回 true,否则返回 false。

select_range ( start, end )

在程序控制下设置选择。选择从起始索引开始的文本,直到结束索引处的字符,但不包括该字符。起始位置必须在结束位置之前。

select_to ( index )

选择从 ANCHOR 位置到给定索引处的字符(但不包括字符)的所有文本。

xview ( index )

此方法在将 Entry 构件链接到水平滚动条时非常有用。

xview_scroll ( number, what )

用于水平滚动条目。what 参数必须是 UNITS(按字符宽度滚动)或 PAGES(按块滚动条目窗口小部件的大小)。该数字为正数表示从左向右滚动,负数表示从右到左滚动。

请自行尝试以下示例 -


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