Python的Tkinter中root.destroy()和root.quit()有什么区别?
当我们使用 tkinter 窗口对象调用 destroy() 方法时,它会终止 mainloop 进程并摧毁窗口中的所有小部件。Tkinter 的 destroy() 方法主要用于杀死和终止在后台运行的解释器。
但是,quit() 方法可以在 mainloop() 函数之后调用以停止进程。我们可以通过创建一个按钮对象来演示两种方法的功能。
示例
# 导入所需的库
from tkinter import *
# 创建 tkinter 框架的实例
win = Tk()
# 设置框架的几何形状
win.geometry("650x450")
# 为 Button 对象定义一个函数
def quit_win():
win.quit()
def destroy_win():
win.destroy()
# 使用 Quit 方法的按钮
Button(win, text="Quit", command=quit_win, font=('Helvetica bold',20)).pack(pady=5)
# 使用 Destroy 方法的按钮
Button(win, text="Destroy", command=destroy_win, font=('Helvetica bold',20)).pack(pady=5)
win.mainloop()
输出
运行该代码将显示一个窗口,该窗口拥有“Quit”和“Destroy”两个按钮。
警告 - quit() 方法会突然终止应用程序,因此建议您在执行后从管理器中关闭应用程序。