在Tkinter中使用事件时,如何将其他变量传递给事件函数?

时间:2014-07-25 05:38:31

标签: python tkinter mouseevent

在这个我从http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm使用的例子中,你怎么能将更多的变量传递给函数回调。假设您想要传入您创建的字典并使用该字典,如何在不调用全局变量的情况下执行此操作。

from Tkinter import *

root = Tk()

def callback(event):
    print "clicked at", event.x, event.y

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", callback)
frame.pack()

root.mainloop()

这里的Newb,可能会有一些尴尬的措辞,随时可以要求澄清。

1 个答案:

答案 0 :(得分:0)

以下是两种可能的方法。

  1. 您可以将“回调”功能放在一个类中,并使用self传递自定义变量
  2. 您可以在另一个模块文件中设置所有变量并将其导入此文件。由于来自另一个文件的变量已导入到此命名空间,因此您可以使用它们而不会进入“回调”功能,就像全局变量一样。