как я могу запустить код после функции root.destroy - PullRequest
0 голосов
/ 02 июня 2019

привет, я работаю на python, используя tkinter, я хочу запустить окно (в Main) после уничтожения первого окна в классе Login, но проблема в том, что код останавливается на root.destroy и не выполняетсяостаток кода

я попытался заменить root.destroy () на root.qui (), остальная часть кода продолжает выполняться, но первое окно по-прежнему появляется

from tkinter import *
import threading

class Login:
    def __init__(self):
        self.window=Tk()
        self.window.geometry("600x500+50+50")
        self.window.resizable(False,False)
        self.window.configure(bg="#fafafa")

    def start(self):
        self.window.mainloop()

    def stop(self):
        self.window.destroy()


class Main: 
    def __init__(self):
        self.login=Login()


   def test(self):
        a=input("a : ")
        b=input("b : ")

        if a ==b:
            self.login.stop()
        print("window destroyed .....")

test=Main()
threading.Thread(target=test.test).start()
test.login.start()

1 Ответ

0 голосов
/ 02 июня 2019

наконец я нашел решение проблемы, в методе login.stop ()

я заменил инструкцию window.destroy() на window.after(0,window.destroy)

...