Python | focus_set() and focus_get() method
Last Updated :
25 Jun, 2019
Tkinter has a number of widgets to provide functionality in any GUI. It also supports a variety of universal widget methods which can be applied on any of the widget.
focus_get()
and focus_set()
methods are also universal widget methods. They can also be applied on Tk()
method.
focus_set() method-
This method is used to set the focus on the desired widget if and only if the master window is focused.
Syntax:
widget.focus_set()
Below is the Python program-
from tkinter import *
from tkinter.ttk import *
master = Tk()
e1 = Entry(master)
e1.pack(expand = 1 , fill = BOTH)
e2 = Button(master, text = "Button" )
e2.focus_set()
e2.pack(pady = 5 )
e3 = Radiobutton(master, text = "Hello" )
e3.pack(pady = 5 )
mainloop()
|
Output:
You may observe in above image that Button widget has the focus. For better understanding copy and run above program.
focus_get() method-
This method returns the name of the widget which currently has the focus.
Syntax:
master.focus_get()
Note: You can use it with any of the widget, master in not necessary.
Below is the Python program –
from tkinter import *
from tkinter.ttk import *
master = Tk()
def focus(event):
widget = master.focus_get()
print (widget, "has focus" )
e1 = Entry(master)
e1.pack(expand = 1 , fill = BOTH)
e2 = Button(master, text = "Button" )
e2.pack(pady = 5 )
e3 = Radiobutton(master, text = "Hello" )
e3.pack(pady = 5 )
master.bind_all( "<Button-1>" , lambda e: focus(e))
mainloop()
|
Output: Every time you click on any widget OR if you click the mouse button-1 above program will print the name of the widget which has the focus. For better understanding copy and run above program.
.!radiobutton has focus
.!entry has focus
.!button has focus
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...