Tkinter Python,如何将模块变量中的更改绑定到我的脚本?

Tkinter Python,如何将模块变量中的更改绑定到我的脚本?,tkinter,python-3.6,Tkinter,Python 3.6,我有一个模块,可以根据鼠标点击改变变量的值。 现在,我想在脚本中导入该模块,然后在模块的变量值发生变化时打印。通过将回调传递到my class构造函数中解决了这个问题。 然后在StringVar中使用该回调 在script.py中 import module def script_callback(a, b, c): print(module.canvas.var.get()) canvas = module.MyClass(callback=script_callback) 在mod

我有一个模块,可以根据鼠标点击改变变量的值。

现在,我想在脚本中导入该模块,然后在模块的变量值发生变化时打印。

通过将回调传递到my class构造函数中解决了这个问题。
然后在StringVar中使用该回调

在script.py中

import module
def script_callback(a, b, c):
    print(module.canvas.var.get())
canvas = module.MyClass(callback=script_callback)
在module.py中:

class MyClass():
    def __init__(callback):
        self.var = StringVar()
        self.var.trace('w', callback)  
        self.var.set(data)

感谢Bryan和furas。

显示您的代码
tkinter
具有类
StringVar
IntVar()
,(等)以保留值,您可以将函数分配给此值,当值发生更改时,类将执行此函数。顺便说一句:你也可以从头开始构建类似的类。代码太长了,我需要的过程是如何调用脚本中的函数,从模块
导入模块;module.function()
您在模块中的函数应该获得函数作为agment(所谓的
回调
)(如
按钮中的
命令=
绑定()
之后()
获取函数名)
从模块中获取函数(从脚本中获取函数),然后它可以使用
()
-
函数来自脚本()
。除非此变量是Tkinter变量类之一(
StringVar
,等等),否则无法执行所需操作。