Erfassen von Ereignissen auf untergeordneten tkinter-Widgets
Klicken Sie im folgenden Block aufa_frame
Löst den Eventhandler auson_frame_click
, aber klicken Sie aufa_label
Welches ist ein Kind vona_frame
nicht. Gibt es einen Weg zu zwingena_frame
Ereignisse abfangen und verarbeiten, die von ihren Kindern ausgehen (am besten, ohne den Kindern direkt Handler hinzufügen zu müssen)? Ich benutze Python 3.2.3.
import tkinter
def on_frame_click(e):
print("frame clicked")
tk = tkinter.Tk()
a_frame = tkinter.Frame(tk, bg="red", padx=20, pady=20)
a_label = tkinter.Label(a_frame, text="A Label")
a_frame.pack()
a_label.pack()
tk.protocol("WM_DELETE_WINDOW", tk.destroy)
a_frame.bind("<Button>", on_frame_click)
tk.mainloop()