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()
执行上述代码时,它会产生以下结果 -
