如何在 Tkinter 窗口小部件中设置焦点?


Tkinter 具有许多内置函数或方法,可用于扩展应用程序中任何窗口小部件的功能。有时,我们需要更改或修改应用程序中任何窗口小部件的焦点,这可以通过使用 focus_set() 方法来实现。此方法设置任何窗口小部件的默认焦点,并使其在程序执行期间保持活动状态。

示例

在此示例中,我们将焦点设置为第一个“输入”窗口小部件,在该窗口小部件中我们需要输入用户名称。

#Import the required Libraries
from tkinter import *
from tkinter import ttk

#Create an instance of Tkinter frame
win = Tk()

#Set the geometry of Tkinter frame
win.geometry("750x350")

#Define a function to submit the validate the value of Entry widget
def submit_name():
   Label(frame, text="Hello "+ entry1.get(), font=('Helvetica',12, 'bold')).pack(pady=20)
   Label(frame, text= "Your Email is : "+ entry2.get(), font=('Helvetica',12, 'bold')).pack(pady=12)

#Creates a Frame
frame = LabelFrame(win, width= 400, height= 180, bd=3)
frame.pack()

#Create an Entry widget in the Frame for Accepting the Username
entry1 = ttk.Entry(frame, width= 40)
entry1.insert(INSERT, "Enter Your Name")
entry1.pack(ipadx= 30, ipady=30)

#Set the focus on Entry1
entry1.focus_set()

#Create an Entry Widget to accept the email Address of the User
entry2 = ttk.Entry(frame, width= 40)
entry2.insert(INSERT, "Enter Your Email")
entry2.pack(pady=10)

#Create a submit button
submit= ttk.Button(win, text= "submit",command=submit_name)
submit.pack(pady=10)
win.mainloop()

输出

运行以上代码以显示两个“输入”窗口小部件,这些窗口小部件在程序执行期间设置了默认焦点。

在给定的输出中,输入名称和电子邮件地址以在屏幕上显示消息。

更新日期:04-05-2021

10K+ 浏览量

开启你的 职业生涯

完成课程认证

开始吧
广告