In Python ein anderes Fenster in tkinter öffnen?
Habe ein Programm bzw, eine Startoberfläche in Tkinter erstellt, und möchte das mit einem Button, ein neues Fenster komplett "unabhängig" von der Startoberfläche geöffnet wird. Also, einfach ein neues Tkinter Fenster und das der Start bleibt erhalten. Wie funktioniert so etwas?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, Python
import Tkinter as tk
def create_window():
window = tk.Toplevel(root)
root = tk.Tk()
b = tk.Button(root, text="Create new window", command=create_window)
b.pack()
root.mainloop()
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
regex9
19.11.2019, 22:30
@Brockdish
- as leitet einen Alias ein, unter dem die Elemente des eingebundenen Moduls künftig ansprechbar sind
- mainloop startet die Tkinter Event Loop. Das ist im Prinzip eine Endlosschleife, die je Iteration empfangene GUI Events abfängt und bearbeitet.
Ja, dann öffnet sich allerdings es in den Fenster, und der Button bleibt erhalten. Wenn man dann wieder darauf klickt, wird es verbuggt.
regex9
19.11.2019, 22:37
@tyronalpha
Das obige Snippet macht eigentlich genau das, wonach du gefragt hast (einzige Änderung sollte für Python 3 sein: tkinter statt Tkinter). Was du hier als Bug definierst und was du genau möchtest, wenn nicht das, müsstest du wohl nochmal genauer erklären.
Was bedeutet Fenster.mainloop und as?