Como Fechar uma Janela de Tkinter com um Botão
- Método de classe para fechar a janela do Tkinter
-
destroy()
Método sem classe para fechar a janela do Tkinter -
Associar a função
root.destroy
ao atributocommand
do botão diretamente -
root.quit
para fechar a Janela Tkinter
Podemos usar uma função ou comando ligado a um botão na GUI do Tkinter para fechar a janela do Tkinter quando o usuário clica nela.
Método de classe para fechar a janela do Tkinter
try:
import Tkinter as tk
except:
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("100x50")
button = tk.Button(self.root, text="Click and Quit", command=self.quit)
button.pack()
self.root.mainloop()
def quit(self):
self.root.destroy()
app = Test()
destroy()
destrói ou fecha a janela.
destroy()
Método sem classe para fechar a janela do Tkinter
try:
import Tkinter as tk
except:
import tkinter as tk
root = tk.Tk()
root.geometry("100x50")
def close_window():
root.destroy()
button = tk.Button(text="Click and Quit", command=close_window)
button.pack()
root.mainloop()
Associar a função root.destroy
ao atributo command
do botão diretamente
Poderíamos ligar diretamente a função root.destroy
ao atributo command
do botão sem definir mais a função extra close_window
.
try:
import Tkinter as tk
except:
import tkinter as tk
root = tk.Tk()
root.geometry("100x50")
button = tk.Button(text="Click and Quit", command=root.destroy)
button.pack()
root.mainloop()
root.quit
para fechar a Janela Tkinter
O root.quit
deixa não só a Janela Tkinter, mas mais precisamente todo o intérprete Tcl.
Ele pode ser usado se a sua aplicação Tkinter não for iniciada a partir de Python idle. Não é recomendado utilizar o root.quit
se a sua aplicação Tkinter for chamada do modo ocioso porque o quit
não só matará a sua aplicação Tkinter como também o modo ocioso porque o modo ocioso também é uma aplicação Tkinter.
try:
import Tkinter as tk
except:
import tkinter as tk
root = tk.Tk()
root.geometry("100x50")
button = tk.Button(text="Click and Quit", command=root.quit)
button.pack()
root.mainloop()
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook