如何关闭tkinter窗口?

2024-04-24 10:25:01 发布

您现在位置:Python中文网/ 问答频道 /正文

如何结束Tkinter程序?假设我有这个代码:

from Tkinter import *

def quit():
    # code to exit

root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()

如何定义quit函数以退出应用程序?


Tags: to代码textfromimport程序tkinterdef
3条回答
def quit()
    root.quit()

或者

def quit()
    root.destroy()

您应该使用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
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()

相关问题 更多 >