Как закрыть окно Tkinterа с помощью кнопки

Jinku Hu 30 Январь 2023 18 Апрель 2020
  1. root.destroy() Метод класса для закрытия окна индикатора
  2. destroy() Неклассический метод закрытия окна индикатора
  3. Ассоциированная функция root.destroy к атрибуту command кнопки непосредственно
  4. root.quit для закрытия окна Tkinter
Как закрыть окно Tkinterа с помощью кнопки

Мы можем использовать функцию или команду, прикрепленную к кнопке в графическом интерфейсе Tkinter, чтобы закрыть окно Tkinter при нажатии на него пользователем.

root.destroy() Метод класса для закрытия окна индикатора

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() разрушает или закрывает окно.

Tkinter закрывает окно кнопкой

destroy() Неклассический метод закрытия окна индикатора

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

Ассоциированная функция root.destroy к атрибуту command кнопки непосредственно

Мы могли бы напрямую привязать функцию root.destroy к атрибуту кнопки command без определения дополнительной функции 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 для закрытия окна Tkinter

root.quit выходит не только из окна Tkinter Window, а точнее из всего интерпретатора Tcl.

Он может быть использован, если ваше Tkinter-приложение не запущено с Python бездействующим. Не рекомендуется использовать root.quit, если ваше Tkinter-приложение вызвано из idle, потому что quit убьет не только ваше Tkinter-приложение, но и из idle, потому что idle также является 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()
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Сопутствующая статья - Tkinter Button