您的位置:

基于Python的图形用户界面输入框Widget: Tkinter Entry

在Python中, Tkinter是用于创建GUI应用程序的标准Python库。它具有创建多种不同类型小部件的能力,其中包括可用于用户输入的小部件。其中一个是Tkinter Entry小部件。

一、Entry小部件是什么?

Tkinter Entry小部件是一个文本小部件,允许应用程序用户输入单行文本值。用户可以通过在其中键入文本来输入值。这相当于HTML表单中的单行文本输入字段。

Entry小部件有三个主要的参数,它们是常规小部件参数—textvariable、background 和 foreground。textvariable 用于在应用程序代码中创建 Python 变量,存储 Entry 小部件中输入的文本值。background 和 foreground 可以控制小部件的外观。它们分别设置背景和前景的颜色。

from tkinter import *
root = Tk()
v = StringVar()
e = Entry(root, textvariable=v)
e.pack()
v.set("a default value")
s = v.get()
root.mainloop()

二、Tkinter Entry应用

在实际应用中,Entry小部件通常用于用户输入信息。例如,在Web应用程序中,“用户名”和“密码”字段通常是Entry小部件。在下面的示例中,我们将使用Entry小部件在应用程序中创建一个用户名和密码登录界面。

from tkinter import *

def user_login():
    # Retrieve entered values and print them
    username = username_entry.get()
    password = password_entry.get()
    print("Username is:", username)
    print("Password is:", password)

root = Tk()
root.title("User Login")

username_label = Label(root, text="Username:")
username_entry = Entry(root)

password_label = Label(root, text="Password:")
password_entry = Entry(root, show="*")

login_button = Button(root, text="Login", command=user_login)

username_label.grid(row=0, column=0, padx=10, pady=10)
username_entry.grid(row=0, column=1, padx=10, pady=10)

password_label.grid(row=1, column=0, padx=10, pady=10)
password_entry.grid(row=1, column=1, padx=10, pady=10)

login_button.grid(row=2, column=1, padx=10, pady=10)

root.mainloop()

三、Entry小部件居中

默认情况下,Entry小部件在其中心部件中水平展开,并垂直于其父容器。如果希望Entry小部件居中,可以使用 fill 参数并将其设置为BOTH。

from tkinter import *

root = Tk()
root.geometry("300x300")

v = StringVar()
e = Entry(root, textvariable=v)

e.pack(fill=BOTH, padx=100, pady=50)

v.set("居中的Entry小部件")

s = v.get()
root.mainloop()

四、使用Style定制Entry小部件

在使用Tkinter创建GUI应用程序时,可以使用Style类来具体定义Entry小部件的外观。下面的示例演示如何使用Style类将 Entry 小部件外观更改为具有白色背景和绿色前景。

from tkinter import *

root = Tk()
style = Style()
style.configure('TEntry', background='white', foreground='green')
e1 = Entry(root, style='TEntry')

e1.grid(row=0, column=0)
root.mainloop()

五、结论

在本文中我们学习了Tkinter Entry小部件的基本概念,以及如何在Python GUI应用程序中使用Entry小部件来接受用户输入的单行文本。我们还研究了如何定制Entry小部件的外观以适应特定的使用样式。

使用Tkinter Entry小部件,可以轻松创建Python GUI应用程序并在其中添加用户输入功能。 Entry小部件非常适合需要用户输入信息的应用程序,例如登录屏幕或数据输入窗口。