Bagaimana agar thread di frame pertama dapat berjalan lagi setelah membuka frame kedua?

saya telah membuat gui program menggunakan python dan tkinter. gui ini terdiri dari dua frame. frame pertama berisi sebuah thread, thread tersebut harus berhenti ketika frame kedua dibuka dan harus bisa dijalankan lagi apabila frame kedua ditutup. berikut adalah program saya.

from tkinter import * import sys import os import datetime import threading

stop_threads_1=False

class HomePage():

def __init__(self, master): self.master = master self.master.geometry('800x480') self.master.title("welcome") self.listbox = Listbox(self.master) #listbox.insert(1, self._var) self.listbox.pack()

label = Label(self.master, text="HomePage") label.pack() button3 = Button(self.master, text="Page One", command=self.pindah_ke_halaman_lain) button3.pack()

self.start_thread()

def start_thread(self): t=threading.Thread(target=self.hitung) t.start()

def pindah_ke_halaman_lain(self): global stop_threads_1 stop_threads_1 = True root = Toplevel(self.master) PageOne(root)

def hitung(self): global stop_threads_1 i=0 while(True): print("saya "+ str(i)) i+=1 if(stop_threads_1== True): break

class PageOne():

def __init__(self, master): self.master = master self.master.geometry('800x480') self.master.title("enroll") btn_back = Button(self.master, text="HomePage", command=lambda:self.pindah_to_Homepage()).grid(row=33,column=1)

def pindah_to_Homepage(self): self.master.destroy() #root2=Toplevel(self.master)

root=Tk() mygis=HomePage(root) root.mainloop()

####################33

bagaimana cara membuat self.start_thread() berjalan lagi setelah frame PageOne() di tutup??

avatar yogitryer
@yogitryer

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

Kalau ada code tolong tuliskan dalam tag [code][/code] supaya enak dibacanya

1 Jawaban:

pakai join yaitu Thread.join()

avatar softscients
@softscients

77 Kontribusi 20 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban