-1

对于初学者,我正在研究别人的代码。

在这段代码中,它打开一个初始的 tkinter 窗口,用户输入一些信息并按下一个按钮。然后另一个 tkinter 窗口打开,询问用户名和密码。用户提供信用并按下确定按钮。

除了子窗口,用户名密码窗口没有关闭之外,这一切都很好。

我已经破解了几个小时,而沮丧是我唯一的收获。

我已经能够用 destroy 关闭子窗口,但这会杀死整个应用程序。

有任何想法吗?

4

2 回答 2

1

如果子窗口是 a tk.Toplevel,则可以通过让ok按钮调用destroy方法来关闭它:

import Tkinter as tk


class Child(object):
    def __init__(self, master=None):
        self.master = master
        window = tk.Toplevel(master)
        close_button = tk.Button(
            window, text='OK/Close', command=window.destroy)
        close_button.pack(side=tk.LEFT, padx=5, pady=5)


class MainApp(object):
    def __init__(self, master=None):
        self.master = master
        close_button = tk.Button(master, text='Child window',
                                 command=Child)
        close_button.pack(side=tk.BOTTOM, padx=5, pady=5)

root = tk.Tk()
app = MainApp(root)
root.mainloop()
于 2013-02-03T16:52:10.767 回答
0

我不确定您何时要关闭窗口,但如果根本不需要该窗口,您可以使用Window_name.withdraw()

于 2013-02-19T08:59:09.610 回答