5

Tcl/Tk では、次の構文を使用して仮想イベントを生成できます。

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

このイベントにバインドされた Tcl/Tk ハンドルを使用すると、置換-dataを介してオプションの値にアクセスできます。%dPython から、このイベントにバインドできます。

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 に答える