如何结束Tkinter程序?假设我有这样的代码:
from Tkinter import *
def quit():
# code to exit
root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()我应该如何定义退出应用程序的quit函数?
发布于 2013-03-23 02:39:54
您应该使用 destroy() 关闭tkinter窗口。
from Tkinter import *
root = Tk()
Button(root, text="Quit", command=root.destroy).pack()
root.mainloop()说明:
root.quit()上面这行代码只是绕过了,如果执行了quit()命令,root.mainloop()也会在后台运行,也就是说root.mainloop()仍然会在后台运行。
root.destroy()当destroy()命令消失时,root.mainloop()也就是root.mainloop()停止。
因此,由于您只想退出程序,所以您应该使用root.destroy(),因为它将停止mainloop()。
但是如果你想运行一些无限循环,又不想破坏你的Tk窗口,又想在root.mainloop()行之后执行一些代码,那么你应该使用root.quit()。例如:
from Tkinter import *
def quit():
global root
root.quit()
root = Tk()
while True:
Button(root, text="Quit", command=quit).pack()
root.mainloop()
#do something发布于 2008-09-21 12:44:02
def quit()
root.quit()或
def quit()
root.destroy()发布于 2008-11-17 02:36:56
import Tkinter as tk
def quit(root):
root.destroy()
root = tk.Tk()
tk.Button(root, text="Quit", command=lambda root=root:quit(root)).pack()
root.mainloop()https://stackoverflow.com/questions/110923
复制相似问题