I'm using Python 2.7.4 and new to Tkinter, and I'm stuck with the following code. I generated an event "test" and set the "data" option with a string, but an error occurred when retrieving it from event.
Error -> AttributeError: Event instance has no attribute 'data'
from Tkinter import *
def handle_it(event):
# print "event handler"
print event.data
root = Tk()
root.after(1, lambda: root.event_generate('<<test>>', data="hi there"))
root.bind('<<test>>', handle_it)
root.mainloop()
I can't find the related Python docs for this case, so I referred to the tcl document as below http://www.tcl.tk/man/tcl8.5/TkCmd/event.htm#M14
Does TKinter of Python 2.7 support "data" option? Thanks!
No, unfortunately it doesn't. The Tcl interpreter recognizes it as a valid option, but it is one of the missing options that are not included in the Event class, like warp
. You can take a look at the line 1188 of the Tkinter source code to see the rest of the missing options.