Ich habe eine Python-GUI mit tKinter erstellt. In meinem einfachen Beispiel habe ich eine Schaltfläche, die eine einfache Schleife auslöst, die einen Zähler inkrementiert. Ich habe den Counter erfolgreich eingefädelt, so dass meine GUI nicht einfriert, aber ich habe Probleme mit dem Countdown. Hier ist mein Code:tKinter Multithreading Einen Thread stoppen
# threading_example.py
import threading
from threading import Event
import time
from tkinter import Tk, Button
root = Tk()
class Control(object):
def __init__(self):
self.my_thread = None
self.stopThread = False
def just_wait(self):
while not self.stopThread:
for i in range(10000):
time.sleep(1)
print(i)
def button_callback(self):
self.my_thread = threading.Thread(target=self.just_wait)
self.my_thread.start()
def button_callbackStop(self):
self.stopThread = True
self.my_thread.join()
self.my_thread = None
control = Control()
button = Button(root, text='Run long thread.', command=control.button_callback)
button.pack()
button2 = Button(root, text='stop long thread.', command=control.button_callbackStop)
button2.pack()
root.mainloop()
Wie kann ich sicher den Zähler stoppen inkrementieren und schließen Sie den Thread?
Wie soll ich vorgehen? – Vince