输入框小部件用于向用户提供单行文本框,以接受用户的输入值。我们可以使用输入框小部件从用户那里接受文本字符串。它只能用于从用户那里获取一行文本。对于多行文本,我们必须使用文本小部件。

使用输入框小部件的语法如下。

语法

w = Entry (parent, options)   

以下是可能的选项列表。

序号选项描述
1bg小部件的背景颜色。
2bd小部件的边框宽度,以像素为单位。
3cursor鼠标指针将更改为设置为箭头、点等的光标类型。
4exportselection输入框内写的文本将默认情况下自动复制到剪贴板。我们可以将 exportselection 设置为 0 以阻止复制。
5fg它表示文本的颜色。
6font它表示文本的字体类型。
7highlightbackground当小部件没有输入焦点时,在遍历突出显示区域显示的颜色。
8highlightcolor当小部件具有输入焦点时,用于绘制围绕小部件的遍历突出矩形的颜色。
9highlightthickness它表示非负值,指示当小部件具有输入焦点时在小部件外部绘制的遍历矩形的宽度。
10insertbackground它表示在插入光标覆盖的区域中用作背景的颜色。该颜色通常会覆盖小部件的正常背景。
11insertborderwidth它表示非负值,指示围绕插入光标绘制的 3-D 边框的宽度。该值可以采用 Tk_GetPixels 可接受的任何形式。
12insertofftime它表示非负整数值,指示插入光标在每个闪烁周期中应保持“关闭”的毫秒数。如果此选项为零,则光标不会闪烁:它始终打开。
13insertontime指定非负整数值,表示插入光标在每个闪烁周期中应保持“打开”的毫秒数。
14insertwidth它表示插入光标的总宽度。该值可以采用 Tk_GetPixels 可接受的任何形式。
15justify如果文本包含多行,则指定文本的组织方式。
16relief它指定边框的类型。其默认值为FLAT。
17selectbackground选定文本的背景颜色。
18selectborderwidth在所选任务周围显示的边框的宽度。
19selectforeground选定任务的字体颜色。
20show用于以星号()之类的形式显示某些其他类型的输入文本,而不是字符串。例如,密码是使用星号()输入的。
21textvariable将其设置为 StringVar 实例,以从输入框中检索文本。
22width所显示的文本或图像的宽度。
23xscrollcommand如果我们希望用户输入的文本超过小部件的实际宽度,可以将输入框小部件链接到水平滚动条。

示例

# !/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()  

输出:

5-1.png

Entry小部件方法

Python提供了各种方法来配置小部件内部写入的数据。Entry小部件提供了以下方法。

序号方法描述
1delete(first, last = none)用于删除小部件内指定的字符。
2get()用于获取小部件内写入的文本。
3icursor(index)用于更改插入光标位置。我们可以指定在其之前放置光标的字符的索引。
4index(index)用于将光标放置在指定索引处的字符左侧。
5insert(index,s)用于在指定索引处的字符之前插入指定的字符串。
6select_adjust(index)包括选择在指定索引处的字符。
7select_clear()如果进行了某些选择,则清除选择。
8select_form(index)将锚定索引位置设置为由索引指定的字符。
9select_present()如果选择了输入框中的文本,则返回true;否则返回false。
10select_range(start,end)选择存在于指定范围内的字符。
11select_to(index)选择从开头到指定索引处的所有字符。
12xview(index)用于将输入框小部件链接到水平滚动条。
13xview_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()  

输出:

5-2.png

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程