打开另一帧后如何在第一帧中运行程序?

时间:2019-04-23 08:37:32

标签: python user-interface tkinter

我使用python和tkinter创建了一个gui程序。第一次运行该程序时,self.start_thread()运行良好,但是在打开另一帧并再次返回第一帧后,self.start_thread()无法再次运行。我该如何解决这个问题?

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)

0 个答案:

没有答案