HOWTO · Tkinter

Wie man ein neues Fenster durch Anklicken einer Schaltfläche in Tkinter erstellt

Dieses Tutorial zeigt, wie man in Tkinter ein neues Fenster erstellt und öffnet, indem man einen Knopf drückt

Auf dieser Seite

In diesem Tutorial zeigen wir Ihnen, wie Sie ein neues Tkinter-Fenster erstellen und öffnen, indem Sie auf eine Schaltfläche in Tkinter klicken.

Ein neues Tkinter-Fenster erstellen

import tkinter as tk


def createNewWindow():
    newWindow = tk.Toplevel(app)


app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()

app.mainloop()

Normalerweise benutzen wir tk.Tk(), um ein neues Tkinter-Fenster zu erstellen, aber es ist nicht gültig, wenn wir bereits ein Root-Fenster erstellt haben, wie in den obigen Codes gezeigt.

Toplevel ist in diesem Fall das richtige Widget, da das Toplevel Widget dazu gedacht ist, zusätzliche pop-up Fenster anzuzeigen.

buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)

Es bindet die createNewWindow Funktion an den Button.

Das neue Fenster ist im obigen Beispiel ein leeres Fenster, und Sie könnten weitere Widgets hinzufügen, genau wie in einem normalen Root-Fenster, aber Sie müssen das Elternwidget in das erzeugte Toplevel-Fenster ändern.

import tkinter as tk


def createNewWindow():
    newWindow = tk.Toplevel(app)
    labelExample = tk.Label(newWindow, text="New Window")
    buttonExample = tk.Button(newWindow, text="New Window button")

    labelExample.pack()
    buttonExample.pack()


app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()

app.mainloop()

Wie Sie sehen konnten, haben labelExample und buttonExample ihr Elternwidget als newWindow, aber nicht als app.