-2
마우스 클릭에 따라 변수의 값이 변경되는 모듈이 있습니다.
이제 스크립트에서 해당 모듈을 가져온 다음 모듈의 변수 값이 변경 될 때마다 인쇄하려고합니다.Python, 모듈 변수의 변경 사항을 스크립트에 바인딩하는 방법은 무엇입니까?
마우스 클릭에 따라 변수의 값이 변경되는 모듈이 있습니다.
이제 스크립트에서 해당 모듈을 가져온 다음 모듈의 변수 값이 변경 될 때마다 인쇄하려고합니다.Python, 모듈 변수의 변경 사항을 스크립트에 바인딩하는 방법은 무엇입니까?
콜백을 my 클래스 생성자에 전달하여 문제가 해결되었습니다.
그런 다음 해당 콜백을 StringVar에서 사용했습니다. module.py에서 script.py
import module
def script_callback(a, b, c):
print(module.canvas.var.get())
canvas = module.MyClass(callback=script_callback)
에서
: 브라이언과 furas에
class MyClass():
def __init__(callback):
self.var = StringVar()
self.var.trace('w', callback)
self.var.set(data)
감사합니다.
코드를 보여주십시오. 'tkinter'는 값을 유지하기 위해'StringVar','IntVar()'등의 클래스를 가지고 있으며,이 값에 함수를 할당 할 수 있고, 값이 변경되면 클래스는이 함수를 실행할 것입니다. Look for [StringVar.trace()] (http://effbot.org/tkinterbook/variable.htm) BTW : 처음부터 비슷한 클래스를 만들 수도 있습니다. – furas
코드가 너무 길어서 필자가 필요로하는 절차는 모듈의 스크립트에서 함수를 호출하는 방법입니다. – Wadaane
'import module; – furas