Tkinter 输入框
输入框小部件用于接受用户的单行文本字符串。
- 如果您想显示多行可编辑的文本,则应使用Text小部件。
-
如果您想显示一个或多个用户无法修改的文本行,则应使用Label小部件。
语法
这是创建此小部件的简单语法−
w = Entry( master, option, ... )
参数
- master − 表示父窗口。
-
options − 这是该小部件最常用的选项列表。这些选项可以使用逗号分隔的键值对形式使用。
序号 | 选项和描述 |
---|---|
1 | Bg 标签和指示器后显示的普通背景颜色。 |
2 | Bd 指示器周围的边框大小。默认为2像素。 |
3 | Command 每当用户更改此复选框的状态时调用的过程。 |
4 | Cursor 如果您将此选项设置为光标名称(箭头、点等),当光标位于复选框上方时,鼠标光标将更改为该模式。 |
5 | Font 用于文本的字体。 |
6 | Exportselection 默认情况下,如果您在Entry小部件中选择文本,它会自动导出到剪贴板。要避免此导出,请使用exportselection=0。 |
7 | Fg 用于渲染文本的颜色。 |
8 | Highlightcolor 当复选框获得焦点时,用于突出显示焦点的颜色。 |
9 | Justify 如果文本包含多行,此选项控制文本的对齐方式:CENTER,LEFT或RIGHT。 |
10 | Relief 默认值为relief=FLAT,复选框与其背景不显眼。您可以将此选项设置为其他任何样式。 |
11 | selectbackground 用于显示所选文本的背景颜色。 |
12 | selectborderwidth 用于所选文本周围的边框的宽度。默认值为1个像素。 |
13 | selectforeground 选中文本的前景(文字)颜色。 |
14 | Show 通常情况下,用户输入的字符会显示在输入框中。要创建一个输入框,将每个字符都显示为星号(* ),请将show="*" 。 |
15 | State 默认状态为NORMAL,但你可以使用state=DISABLED将控件变灰并且不可操作。如果鼠标当前在复选框上,则状态为ACTIVE。 |
16 | Textvariable 要能够从输入框中获取当前文本,必须将此选项设置为StringVar类的一个实例。 |
17 | Width 复选框的默认宽度由显示的图片或文本的大小决定。你可以将此选项设置为一个字符数,复选框将始终有足够空间来显示指定的字符数。 |
18 | 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) 选择从ANCHOR位置到给定索引处的所有文本,但不包括该索引处的字符。 |
12 | xview (index) 此方法可用于将输入框小部件与水平滚动条链接起来。 |
13 | 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()
当上述代码被执行时,它产生如下结果-