Thus spoketh pyt...@bdurham.com unto us on Wed, 15 Dec 2010 09:28:51 -0500:
> I'm using the ttk.Notebook widget. What object do I bind to > capture events related to specific tabs? > > I would like to trap when a tab caption gets keyboard focus > ('<FocusIn>') and when the mouse pointer is over a specific tab > caption ('<Enter>'). > Maybe you can use the <<NotebookTabChanged>> virtual event instead? > I can trap mouse clicks on tabs (<Button-1>, <Button-3>), but I > can't find a way to determine what tab a user clicked on in the > case of a right click. > Here's a brief example how to identify the tab which received the right-click; the same callback could be bound to Motion events which might be used as a replacement for the Enter event. ################################## from Tkinter import * import ttk root = Tk() nb = ttk.Notebook(root) nb.pack(fill='both', expand=1) t = Text(nb) nb.add(t, text='foo') c = Canvas(nb) nb.add(c, text='bar') def on_button_3(event): if event.widget.identify(event.x, event.y) == 'label': index = event.widget.index('@%d,%d' % (event.x, event.y)) print event.widget.tab(index, 'text') nb.bind('<3>', on_button_3) root.mainloop() ################################## Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. Deflector shields just came on, Captain. _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss