如何使用按钮关闭 Tkinter 窗口?
先决条件: Tkinter
Python 的 Tkinter 模块提供了 Button函数,可以在 Tkinter 窗口中创建一个按钮,以便在单击该按钮后执行任何任务。可以在Button()函数的命令参数中分配任务。下面给出了可以实现这一点的各种方法。
方法一:使用 destroy() 非类方法
方法:
- 导入 tkinter 模块。
- 创建一个名为 root 的主窗口。
- 添加一个按钮。
- 将root.destroy分配给该按钮的命令属性。
例子: 直接在命令属性中使用 destroy()
Python3
# Python program to create a close button
# using destroy Non-Class method
from tkinter import *
# Creating the tkinter window
root = Tk()
root.geometry("200x100")
# Button for closing
exit_button = Button(root, text="Exit", command=root.destroy)
exit_button.pack(pady=20)
root.mainloop()
Python3
# Python program to create a close button
# using destroy Non-Class method
from tkinter import *
# Creating the tkinter window
root = Tk()
root.geometry("200x100")
# Function for closing window
def Close():
root.destroy()
# Button for closing
exit_button = Button(root, text="Exit", command=Close)
exit_button.pack(pady=20)
root.mainloop()
Python3
# Python program to create a close button
# using destroy Class method
from tkinter import *
# Class for tkinter window
class Window():
def __init__(self):
# Creating the tkinter Window
self.root = Tk()
self.root.geometry("200x100")
# Button for closing
exit_button = Button(self.root, text="Exit", command=self.root.destroy)
exit_button.pack(pady=20)
self.root.mainloop()
# Running test window
test = Window()
Python3
# Python program to create a close button
# using destroy Class method
from tkinter import *
# Class for tkinter window
class Window():
def __init__(self):
# Creating the tkinter Window
self.root = Tk()
self.root.geometry("200x100")
# Button for closing
exit_button = Button(self.root, text="Exit", command=self.Close)
exit_button.pack(pady=20)
self.root.mainloop()
# Function for closing window
def Close(self):
self.root.destroy()
# Running test window
test = Window()
Python3
# Python program to create a close button
# using quit method
from tkinter import *
# Creating the tkinter window
root = Tk()
root.geometry("200x100")
# Button for closing
exit_button = Button(root, text="Exit", command=root.quit)
exit_button.pack(pady=20)
root.mainloop()
exit(0)
示例:在函数中使用 destroy()
蟒蛇3
# Python program to create a close button
# using destroy Non-Class method
from tkinter import *
# Creating the tkinter window
root = Tk()
root.geometry("200x100")
# Function for closing window
def Close():
root.destroy()
# Button for closing
exit_button = Button(root, text="Exit", command=Close)
exit_button.pack(pady=20)
root.mainloop()
输出:
方法二:使用destroy()类方法
方法:
- 导入 tkinter 模块。
- 创建一个 tkinter 窗口类。
- 创建一个名为 root 的主窗口。
- 添加一个按钮。
- 将root.destroy分配给该按钮的命令属性。
例子: 直接在命令属性中使用 destroy()
蟒蛇3
# Python program to create a close button
# using destroy Class method
from tkinter import *
# Class for tkinter window
class Window():
def __init__(self):
# Creating the tkinter Window
self.root = Tk()
self.root.geometry("200x100")
# Button for closing
exit_button = Button(self.root, text="Exit", command=self.root.destroy)
exit_button.pack(pady=20)
self.root.mainloop()
# Running test window
test = Window()
例子: 在函数中使用 destroy()
蟒蛇3
# Python program to create a close button
# using destroy Class method
from tkinter import *
# Class for tkinter window
class Window():
def __init__(self):
# Creating the tkinter Window
self.root = Tk()
self.root.geometry("200x100")
# Button for closing
exit_button = Button(self.root, text="Exit", command=self.Close)
exit_button.pack(pady=20)
self.root.mainloop()
# Function for closing window
def Close(self):
self.root.destroy()
# Running test window
test = Window()
输出:
方法三:使用quit()方法
如果您从 IDLE 调用 Tkinter 应用程序,则此方法将无法正常工作,因为 quit() 将终止整个 TCL 解释器并导致主循环退出,而所有小部件都完好无损。因此,如果您使用除 IDLE 以外的任何其他编辑器/解释器,最好使用 quit()。或者,您可以在 mainloop 之后使用 exit()函数退出Python程序。
如果您的 Tkinter 应用程序是从IDLE执行的,则不建议使用quit() ,因为它会关闭解释器,让程序与其所有小部件一起运行。也不推荐这样做,因为它可能会在某些解释器中失败。
方法:
- 导入 tkinter 模块。
- 创建一个名为 root 的主窗口。
- 添加一个按钮。
- 将root.quit分配给该按钮的命令属性。
- 调用mainloop后添加exit()函数
例子:
蟒蛇3
# Python program to create a close button
# using quit method
from tkinter import *
# Creating the tkinter window
root = Tk()
root.geometry("200x100")
# Button for closing
exit_button = Button(root, text="Exit", command=root.quit)
exit_button.pack(pady=20)
root.mainloop()
exit(0)
输出: