在 Tkinter 中将焦点从一个 Text 部件切换到另一个 Text 部件
在各种应用程序中,需要让 tkinter 部件获得焦点才能使其处于活动状态。部件还可以抢夺焦点并阻止边界之外的其他事件。为了管理和给予特定部件焦点,我们通常使用 focus_set() 方法。它使部件获得焦点并使其在程序终止之前处于活动状态。
示例
在以下示例中,我们创建了两个文本部件,我们将使用 按钮 部件同时将焦点从一个文本部件更改为另一个文本部件。因此,通过定义可以通过 按钮 部件处理的两个方法可以很方便地更改焦点。
#Import tkinter library from tkinter import * #Create an instance of tkinter frame win = Tk() #Set the geometry win.geometry("750x250") #Define a function for changing the focus of text widgets def changeFocus(): text1.focus_set() button.config(command=change_focus, background= "gray71") def change_focus(): text2.focus_set() button.configure(command= changeFocus) #Create a Text WIdget text1= Text(win, width= 30, height= 5) text1.insert(INSERT, "New Line Text") #Activate the focus text1.focus_set() text1.pack() #Create another text widget text2= Text(win, width= 30, height=5) text2.insert(INSERT,"Another New Line Text") text2.pack() #Create a Button button= Button(win, text= "Change Focus",font=('Helvetica 10 bold'), command= change_focus) button.pack(pady=20) win.mainloop()
输出
运行上述代码将显示一个包含两个文本部件的窗口。最初,“text1”部件将具有活动焦点。
现在单击“更改焦点”按钮以在两个文本部件之间切换焦点。
广告