[Tkinter-discuss] Combining events?
Michael Lange
klappnase at web.de
Sat Jul 19 13:21:19 CEST 2014
Hi,
On Fri, 18 Jul 2014 16:54:34 -0600
Bob Greschke <bob at passcal.nmt.edu> wrote:
> I have a huge program...several huge programs...and I keep writing
> duplicate sets of calls for <Return> and <KP_enter>. I'm tired of it,
> even though they are already all written. Is there any way to combine
> those (those two, specifically) into one bind like
>
> x.bind(("<Return>", "<KP_Enter"), command = .....?
>
> I know you can't do that, but something like that on a global scale
> (both figuratively, and programmatically). Some little line of code at
> the beginning of the program that redirects the <KP_Enter> to the
> <Return> event when some field or whatever is specifically looking for
> either return key to be pressed?.
you could use event_generate() and bind_class(), as in this example:
from Tkinter import *
root = Tk()
def on_kp_enter(event):
event.widget.event_generate('<Return>')
root.bind_class('Button', '<KP_Enter>', on_kp_enter)
def on_return(event):
print('Return')
b = Button(root, text='Push me')
b.pack()
b.bind('<Return>', on_return)
root.mainloop()
Regards
Michael
.-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-.
Lots of people drink from the wrong bottle sometimes.
-- Edith Keeler, "The City on the Edge of Forever",
stardate unknown
More information about the Tkinter-discuss
mailing list