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

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.

Verwandter Artikel - Tkinter Button

  • Farbe der Tkinter-Schaltfläche ändern
  • So ändern Sie die Größe der Tkinter-Schaltfläche