您可以创建一个扩展TkinterButton类的类,该类将通过将destroy方法与其command属性关联来专门关闭窗口:from tkinter import *
class quitButton(Button):
def __init__(self, parent):
Button.__init__(self, parent)
self['text'] = 'Good Bye'
# Command to close the window (the destory method)
self['command'] = parent.destroy
self.pack(side=BOTTOM)
root = Tk()
quitButton(root)
mainloop()
这是输出:
以及之前代码不起作用的原因:def close_window ():
# root.destroy()
window.destroy()
我有一种轻微的感觉,你可能从其他地方得到根,因为你做了window = tk()。
当您对Tkinter中的window调用destroy意味着销毁整个应用程序,因为您的window(根窗口)是应用程序的主窗口。我想你应该把window改成root。from tkinter import *
def close_window():
root.destroy() # destroying the main window
root = Tk()
frame = Frame(root)
frame.pack()
button = Button(frame)
button['text'] ="Good-bye."
button['command'] = close_window
button.pack()
mainloop()