Python Tkinter Entry条目
该输入部件用于文中所述单线文本给用户以从用户接受的值。我们可以使用该输入部件接受来自用户的文本串。它只能被用于一个文本行。多行文本 , 用文本小工具。
在使用语法条目窗口小部件。
语法
w = Entry (parent, options)
可能选项的列表如下。
SN | 选项 | 描述 |
1 | bg | 窗体小部件的背景色 |
2 | bd | 设置控件的边框宽度(以像素为单位) |
3 | cursor | 当鼠标光标类型改变为所设置的箭头、点等 |
4 | exportselection | 默认情况下,在输入框中写入的文本将自动复制到剪贴板。我们可以将exportselection设置为0以避免复制它 |
5 | fg | 它表示文本的颜色 |
6 | font | 它表示文本的字体类型 |
7 | highlightbackground | 它表示当小部件没有输入焦点时要在遍历高亮区域中显示的颜色 |
8 | highlightcolor | 它表示当小部件具有输入焦点时围绕小部件绘制的遍历高亮矩形要使用的颜色 |
9 | highlightthickness | 它表示一个非负值,该值指示当小部件具有输入焦点时,要围绕小部件外部绘制的突出显示矩形的宽度 |
10 | insertbackground | 它表示插入光标所覆盖区域中用作背景的颜色。此颜色通常会覆盖小部件的正常背景 |
11 | insertborderwidth | 它表示一个非负值,表示要围绕插入光标绘制的三维边框的宽度。该值可以具有Tk_GetPixels可接受的任何形式 |
12 | insertofftime | 它表示一个非负整数值,表示插入光标在每个闪烁周期中应该保持“off”的毫秒数。如果该选项为零,则光标不会闪烁:它一直处于打开状态 |
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 | 如果希望用户输入比小部件实际宽度更多的文本,可以将entry小部件链接到水平滚动条 |
示例
# !/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 提供了多种方法来配置数据写在小部件内部。存在以下的方法提供的入口小程序。
Sn | 方法 | 描述 |
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() | 如果选择条目中的某些文本,则返回true,否则返回false。 |
10 | select_range(start,end) | 它选择在指定范围内存在的字符。 |
11 | select_to(index) | 它选择从开始到指定索引的所有字符。 |
12 | xview(index) | 它用于将entry小部件链接到水平滚动条。 |
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()
输出 :