Wie man ein Tkinter-Fenster mit einer Schaltfläche schließt

Jinku Hu 30 Januar 2023
  1. root.destroy() Klassenmethode zum Schließen des Tkinter-Fensters
  2. destroy() Nicht-Klassen-Methode zum Schließen des Tkinter-Fensters
  3. Ordnen Sie die Funktion root.destroy direkt dem Attribut command des Buttons zu
  4. root.quit zum Schließen des Tkinter-Fensters
Wie man ein Tkinter-Fenster mit einer Schaltfläche schließt

Wir können eine Funktion oder einen Befehl verwenden, der an eine Schaltfläche in der Tkinter-GUI angehängt ist, um das Tkinter-Fenster zu schließen, wenn der Benutzer darauf klickt.

root.destroy() Klassenmethode zum Schließen des Tkinter-Fensters

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() zerstört oder schließt das Fenster.

Tkinter schließt ein Fenster mit einem Knopf

destroy() Nicht-Klassen-Methode zum Schließen des Tkinter-Fensters

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

Ordnen Sie die Funktion root.destroy direkt dem Attribut command des Buttons zu

Wir könnten die root.destroy Funktion direkt an das command Attribut des Buttons binden, ohne die zusätzliche Funktion close_window zu definieren.

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 zum Schließen des Tkinter-Fensters

root.quit beendet nicht nur das Tkinter-Fenster, sondern genauer gesagt den gesamten Tcl-Interpreter.

Es könnte verwendet werden, wenn Ihre Tkinter-Anwendung nicht von Python aus im Leerlauf initiiert wird. Es wird nicht empfohlen, root.quit zu benutzen, wenn Ihre Tkinter-Anwendung aus dem Leerlauf heraus aufgerufen wird, da quit nicht nur Ihre Tkinter-Anwendung, sondern auch den Leerlauf beendet, da der Leerlauf ebenfalls eine Tkinter-Anwendung ist.

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()
Autor: 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 Facebook

Verwandter Artikel - Tkinter Button