Jakub Bláha
Jakub Bláha

Reputation: 1609

Tkinter - window focus loss event

Is there some event triggering when tkinter window loses focus that can be bound to a tkinter window using the .bind method?

Upvotes: 9

Views: 13619

Answers (1)

Bryan Oakley
Bryan Oakley

Reputation: 385960

The event you are looking for is <FocusOut>.

import tkinter as tk

def on_focus_out(event):
    if event.widget == root:
        label.configure(text="I DON'T have focus")

def on_focus_in(event):
    if event.widget == root:
        label.configure(text="I have focus")

root = tk.Tk()
label = tk.Label(width=30)
label.pack(side="top", fill="both", expand=True)

root.bind("<FocusIn>", on_focus_in)
root.bind("<FocusOut>", on_focus_out)

root.mainloop()

Upvotes: 21

Related Questions