Как я могу запустить код после функции root.destroy

Привет , я работаю на 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 ответ

Решение

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

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

Другие вопросы по тегам