0
我試圖做一個函數被調用時,特定變量的值被改變。我想過使用它來綁定,但我不能讓它工作。這裏是相關的代碼片段:如何改變一個變量的值來調用一個函數?
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來做到這一點?
「當特定變量的值發生變化時」。你在說什麼變量? – mgilson 2013-04-30 01:08:14
作爲一個方面說明:檢查什麼'是0'而不是'== 0'是一個非常糟糕的主意。 Python允許創建任意數量的值爲'0'的整數對象,而您所關心的是您是否擁有'0',而不是您是否擁有與文字相同的對象。 – abarnert 2013-04-30 01:25:48