seit kurzem beschäftige ich mich mit Python bzw. mit Threads.
Nun bin ich auf folgendes Problem gestossen.
Wenn ich eine GUI und einen Thread habe, die auch wunderbar kommunizieren können -
wie sorge ich beim beenden dafür, dass nicht nur die GUI sondern auch mein Thread (Endlosschleife)
geschlossen werde.
Beispiel:
Code: Alles auswählen
class Test(Thread):
def run(self):
i = 0
j = 0
while True:
...
def ausstieg(self):
??????
class GUI(Frame):
def create(self):
self.beenden = Button(mframe)
self.beenden["text"] = "Beenden"
self.beenden["command"] = self.ausstieg
self.beenden.pack(side = RIGHT)
def ausstieg(self):
root.destroy()
test.ausstieg()
root = Tk()
test = Test()
test.start()
widget = GUI(master = root)
root.protocol("WM_DELETE_WINDOW", widget.ausstieg)
root.mainloop()
Also, wie gesagt, die Kommunikation klappt. Ich kann nur das zweite Fenster, also meinen Thread nicht beenden.
Da wo ich die Fragezeichen eingesetzt habe ist mein Problem. Mit sys.exit(0) habe ich es schon probiert. Geht aber nicht wirklich.
Vielen Dank!
Gruss