如果你要关闭窗口,系统会出现一个警告,当然,关闭这个警告后,系统将会结束
时间: 2024-03-09 16:47:23 浏览: 20
如果你想要在关闭窗口时弹出一个确认对话框而不是直接关闭窗口,可以使用 `protocol()` 方法和 `WM_DELETE_WINDOW` 协议来实现。下面是一个示例代码:
```python
import tkinter as tk
from tkinter import messagebox
def on_closing():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)
# 在这里添加你的窗口部件
root.mainloop()
```
在上面的代码中,我们定义了一个名为 `on_closing()` 的函数,用于在关闭窗口时弹出一个确认对话框。在主窗口创建后,我们使用 `protocol()` 方法将 `WM_DELETE_WINDOW` 协议与 `on_closing()` 函数关联起来。这样,当用户尝试关闭窗口时,Tkinter 将自动调用 `on_closing()` 函数。
在 `on_closing()` 函数中,我们使用 `messagebox.askokcancel()` 方法弹出一个确认对话框。如果用户点击了“OK”按钮,则调用 `root.destroy()` 方法关闭窗口。如果用户点击了“Cancel”按钮,则什么也不做,让窗口继续显示。
注意,`messagebox.askokcancel()` 方法会返回一个布尔值,表示用户是否点击了“OK”按钮。因此,我们可以使用这个值来判断用户的选择,并执行相应的操作。