-4

你好,我正在使用 tkinter 开发 python,我想在 Login 类中销毁第一个窗口后运行一个窗口(在 Main 中),但问题是代码在 root.destroy 处停止并且不执行其余的编码

我试图用 root.qui() 替换 root.destroy() ,其余代码继续执行但第一个窗口仍然出现

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()
4

1 回答 1

0

最后我在 login.stop() 方法中找到了解决问题的方法

我将指令替换window.destroy()window.after(0,window.destroy)

于 2019-06-02T06:45:53.043 回答