1
私はPythonには新しく、さらにはtkinterにも関わらず、Tkinterを通して無限ループの開始と終了ボタンを作成しようと決めました。残念ながら、開始をクリックすると、停止をクリックできません。開始ボタンはインデントされたままで、トリガーされた関数がまだ実行されているため、開始ボタンはインデントされたままです。この2番目のボタンをコードを停止させるにはどうすればよいですか?Pythonでtkinterによってトリガされたループを停止する方法
import tkinter
def loop():
global stop
stop = False
while True:
if stop == True:
break
#The repeating code
def start():
loop()
def stop():
global stop
stop = True
window = tkinter.Tk()
window.title("Loop")
startButton = tkinter.Button(window, text = "Start", command = start)
stopButton = tkinter.Button(window, text = "Pause", command = stop)
startButton.pack()
ありがとうございます!これはほとんどの場合意味があります。私はafterの引数がafter(wait-time、function)の形であると仮定していますか? – Bugsy
はい、時間はミリ秒です。したがって、1000 = 1秒です。 – Pythonista
これは、ループが再帰的に呼び出されているので動作しますが、Pythonの999の最大深度に達するとスタックオーバーフローエラーが発生しませんか? –