5

Tcl/Tk 允许通过以下语法生成虚拟事件:

event generate .myWidget <<whatever>> -data "arbitrary text here"

绑定到此事件的 Tcl/Tk 句柄将允许-data通过%d替换访问选项的值。从 python,我可以绑定到这个事件:

def on_whatever(event):
    print("Meh")

myWidget.bind("<<whatever>>", on_whatever, add="+")

到目前为止,这对我来说很好,但我无法从 python 中找到任何方法来访问 tcl/tk 事件的-data字段。

4

1 回答 1

0

您可能必须使用单独的变量/属性。

当需要调用 event_generate() 时,您可以将变量设置为您喜欢的任何值。

from Tkinter import *
root = Tk()
attr = None

def blahblah(event):
    print attr

root.bind('<<shazzam>>', blahblah, '+')

def do_something():
    global attr
    attr = 'arbitrary text here'
    root.event_generate('<<shazzam>>')

root.after(3000, do_something)
root.mainloop()
于 2012-07-23T03:02:36.390 回答