关闭tkinter窗口时,Python程序不会结束的原因是因为tkinter窗口的关闭只是隐藏了窗口,而并没有终止程序的执行。要实现关闭窗口时结束程序的功能,可以通过以下几种方法:
root.destroy()
方法:在关闭窗口的事件处理函数中调用root.destroy()
方法可以完全销毁窗口并终止程序的执行。示例代码如下:import tkinter as tk
def on_closing():
root.destroy()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
root.quit()
方法:在关闭窗口的事件处理函数中调用root.quit()
方法可以终止主循环并退出程序。示例代码如下:import tkinter as tk
def on_closing():
root.quit()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
sys.exit()
方法:在关闭窗口的事件处理函数中调用sys.exit()
方法可以直接退出程序。需要先导入sys
模块。示例代码如下:import tkinter as tk
import sys
def on_closing():
sys.exit()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
以上是关闭tkinter窗口时结束Python程序执行的几种方法。根据具体需求选择适合的方法即可。
领取专属 10元无门槛券
手把手带您无忧上云