Entry小部件用于向用户提供单行文本框, 以接受来自用户的值。我们可以使用Entry小部件来接受来自用户的文本字符串。它只能用于用户的一行文本。对于多行文本, 我们必须使用文本小部件。
下面给出了使用Entry小部件的语法。
句法
w = Entry (parent, options)
下面列出了可能的选项。
SN
Option
Description
1
bg
小部件的背景颜色。
2
bd
小部件的边框宽度(以像素为单位)。
3
cursor
鼠标指针将更改为设置为箭头, 点等的光标类型。
4
exportselection
默认情况下, 输入框内写入的文本将自动复制到剪贴板。我们可以将exportselection设置为0以不复制它。
5
fg
它代表文本的颜色。
6
font
它代表文本的字体类型。
7
highlightbackground
当小部件没有输入焦点时, 它表示要在遍历高亮区域显示的颜色。
8
highlightcolor
它代表在具有输入焦点时围绕小部件绘制的遍历高亮矩形所使用的颜色。
9
highlightthickness
它表示一个非负值, 表示在具有输入焦点时要在小部件外部绘制的高亮矩形的宽度。
10
insertbackground
它代表在插入光标覆盖的区域中用作背景的颜色。此颜色通常会覆盖小部件的正常背景。
11
insertborderwidth
它表示一个非负值, 指示要在插入光标周围绘制的3-D边框的宽度。该值可以具有Tk_GetPixels可接受的任何形式。
12
insertofftime
它表示一个非负整数值, 指示在每个闪烁周期中插入光标应保持”关闭”的毫秒数。如果此选项为零, 则光标不会闪烁:它一直都在闪烁。
13
insertontime
指定一个非负整数值, 该整数值指示在每个闪烁周期中插入光标应保持在” on”状态的毫秒数。
14
insertwidth
它表示指示插入光标的总宽度的值。该值可以具有Tk_GetPixels可接受的任何形式。
15
justify
它指定文本包含多行时如何组织文本。
16
relief
它指定边框的类型。其默认值为FLAT。
17
selectbackground
所选文本的背景色。
18
selectborderwidth
在所选任务周围显示的边框宽度。
19
selectforeground
所选任务的字体颜色。
20
show
它用于显示其他类型的输入文本, 而不是字符串。例如, 使用星号(*)输入密码。
21
textvariable
它设置为StringVar的实例, 以从条目中检索文本。
22
width
显示的文字或图像的宽度。
23
xscrollcommand
如果我们希望用户输入比控件实际宽度更多的文本, 则输入控件可以链接到水平滚动条。
例子
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("400x250")
name = Label(top, text = "Name").place(x = 30, y = 50)
email = Label(top, text = "Email").place(x = 30, y = 90)
password = Label(top, text = "Password").place(x = 30, y = 130)
sbmitbtn = Button(top, text = "Submit", activebackground = "pink", activeforeground = "blue").place(x = 30, y = 170)
e1 = Entry(top).place(x = 80, y = 50)
e2 = Entry(top).place(x = 80, y = 90)
e3 = Entry(top).place(x = 95, y = 130)
top.mainloop()
输出
条目小部件方法
Python提供了多种方法来配置写在小部件内部的数据。 Entry小部件提供了以下方法。
SN
Method
Description
1
delete(first, last = none)
用于删除窗口小部件内的指定字符。
2
get()
它用于获取在小部件内编写的文本。
3
icursor(index)
用于更改插入光标的位置。我们可以指定要放置光标的字符的索引。
4
index(index)
它用于将光标置于指定索引处写入的字符的左侧。
5
insert(index, s)
用于在指定索引处的字符之前插入指定字符串。
6
select_adjust(index)
它包括选择出现在指定索引处的字符。
7
select_clear()
如果已完成某些选择, 它将清除选择。
8
select_form(index)
它将锚索引位置设置为索引指定的字符。
9
select_present()
如果在Entry中选择了某些文本, 则返回true, 否则返回false。
10
select_range(开始, 结束)
它选择在指定范围之间存在的字符。
11
select_to(index)
它选择从开始到指定索引的所有字符。
12
xview(index)
它用于将条目窗口小部件链接到水平滚动条。
13
xview_scroll(number, what)
它用于使条目水平滚动。
示例:一个简单的计算器
import tkinter as tk
from functools import partial
def call_result(label_result, n1, n2):
num1 = (n1.get())
num2 = (n2.get())
result = int(num1)+int(num2)
label_result.config(text="Result = %d" % result)
return
root = tk.Tk()
root.geometry('400x200+100+200')
root.title('Calculator')
number1 = tk.StringVar()
number2 = tk.StringVar()
labelNum1 = tk.Label(root, text="A").grid(row=1, column=0)
labelNum2 = tk.Label(root, text="B").grid(row=2, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=7, column=2)
entryNum1 = tk.Entry(root, textvariable=number1).grid(row=1, column=2)
entryNum2 = tk.Entry(root, textvariable=number2).grid(row=2, column=2)
call_result = partial(call_result, labelResult, number1, number2)
buttonCal = tk.Button(root, text="Calculate", command=call_result).grid(row=3, column=0)
root.mainloop()
输出