Jakub Bláha
Jakub Bláha

Reputation: 1619

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: 13720

Answers (1)

Bryan Oakley
Bryan Oakley

Reputation: 386342

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