Como Fechar uma Janela de Tkinter com um Botão

  1. Método de classe para fechar a janela do Tkinter
  2. destroy() Método sem classe para fechar a janela do Tkinter
  3. Associar a função root.destroy ao atributo command do botão diretamente
  4. 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.

Tkinter fecha uma janela com um botão

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()

Artigo relacionado - Tkinter Button

  • Como mudar o estado do Botão Tkinter