📜  如何在 Tkinter 中关闭窗口?(1)

📅  最后修改于: 2023-12-03 15:08:48.662000             🧑  作者: Mango

如何在 Tkinter 中关闭窗口?

在 Tkinter 中关闭窗口,可以使用 destroy() 方法来实现。

通常情况下,我们会创建如下的 Tkinter 窗口:

import tkinter as tk

root = tk.Tk()
root.mainloop()

假如我们要在此基础上增加一个 “关闭窗口” 的按钮,点击该按钮可以关闭窗口。

首先,我们需要添加按钮:

import tkinter as tk

root = tk.Tk()

button = tk.Button(root, text="关闭窗口", command=root.destroy)
button.pack()

root.mainloop()

这里,我们使用 Button 控件来创建一个按钮,并将 command 参数赋值为 root.destroy,这表示在按钮被点击时执行 root.destroy 方法来关闭窗口。

然后我们需要将该按钮添加到窗口中,这里使用了 pack() 方法来实现。

如果要实现点击右上角的叉号按钮关闭窗口,可以添加如下代码:

import tkinter as tk

root = tk.Tk()

def on_closing():
    if tk.messagebox.askokcancel("关闭窗口", "确定要关闭窗口吗?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)

button = tk.Button(root, text="关闭窗口", command=root.destroy)
button.pack()

root.mainloop()

这里我们定义了一个名为 on_closing() 的方法来询问用户是否确定要关闭窗口,当用户点击弹出对话框的确定按钮时才会关闭窗口。

然后,我们使用 protocol() 方法来将 on_closing() 方法与窗口的关闭事件进行关联。

最后,我们还是添加了一个按钮,点击该按钮也可以关闭窗口。

以上便是在 Tkinter 中关闭窗口的方法。

代码片段如下所示:

```python
import tkinter as tk

root = tk.Tk()

button = tk.Button(root, text="关闭窗口", command=root.destroy)
button.pack()

def on_closing():
    if tk.messagebox.askokcancel("关闭窗口", "确定要关闭窗口吗?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)

root.mainloop()