下面的程序提供了一個錯誤消息:Tkinter.self導致無限循環,錯誤
"RuntimeError: maximum recursion depth exceeded while calling a Python object".
原因是self.after
。
當我創建的計算功能的while true
環它工作正常,但我想導致與self.after
的循環,這是我讀它應該在的連接來實現與Tkinter的。任何建議表示讚賞。
import Tkinter as tk
import ttk
import time
class App(tk.Tk):
def __init__(self):
self.root=tk.Tk()
self.var1=tk.StringVar()
self.i=0
def Calculation(self):
# complex calculations that last 30 minutes in total
self.i+=1
self.var1.set(str(self.i))
self.root.update()
self.after(100, self.Calculation)
def Gui(self):
your_label=tk.Label(self.root,textvariable=self.var1).pack()
A=App()
A.Gui()
A.Calculation()
你想完成什麼?每次計算每100毫秒開始另一次計算,並且這些計算會啓動進一步計算等。這不可能是您想要的。 – saulspatz
這是一個蒙特卡羅模擬。所以每次計算都需要進行很多次,但是由於它們持續了一段時間,每次計算後我都需要在我的gui中進行更新。此外,我希望能夠在計算過程中更改一些參數,理想情況下使用滑塊。 – Nickpick