特定の変数の値が変更されたときに呼び出される関数を作成しようとしています。バインドに使おうと思ったのですが、うまくいきません。関連するコード スニペットは次のとおりです。
def runSim (self):
if self.openned.get() == 1:
self.p = multiprocessing.Process(target= self.runProg).start()
elif self.openned.get() == 0:
saveFirst = tkMessageBox.askokcancel("Warning",
"This is a new file. For run this, please save first")
if saveFirst:
self.saveAs()
self.openned.set(1)
self.p = multiprocessing.Process(target= self.runProg).start()
def runProg(self):
"""This funcion will run the simulation"""
a = open(self.nameFile.get(),"w")
self.writeFile()
self.process = subprocess.Popen([self.cmdSys.get()+self.dV.get()+
self.extension.get(),self.nameFile.get()])
self.pid.set(self.process.pid)
if self.process.wait() is 0:
#here is the part where the function have to be called when the variable's values is changed!!!
def callMsg(self):
tkMessageBox.showinfo("","Your simulation was completed sucessfully.")
BIND を使用してこれを行うにはどうすればよいですか?