Hi, ich verwende Python 3 und möchte ein Dialog mit Tkinter erstellen. Das erste Fenster fragt ab, ob man überhaupt den Dialog starten möchte. Es gibt einen Button (Button1) zum beenden, der den Dialog beendet und einen der das alte Fenster schließt (Button2) und ein weiteres öffnet. Ich habe genau das versucht indem ich in einer anderen Funktion fenster.destroy() verwendet habe, das sah dann so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import tkinter as tk from tkinter import * from tkinter import messagebox from tkinter import filedialog def window(): global frame frame = Tk() Button1 = tk.Button(frame, text="Nein.", command=frame.quit) Button1.pack(anchor=S, fill=X, side=RIGHT) Button2 = tk.Button(frame, text="Ja!", fg="dark green", command = func) Button2.pack(anchor=S, fill=X, side=LEFT) frame.mainloop() def func(): frame.destroy() messagebox.showinfo("Help", "Hier geht der Dialog weiter.") window() # Code nach dem Dialog |
Wenn ich Button2 drücke schließt sich das alte Fenster nicht. Es verschwindet lediglich der Inhalt. Ich habe den Code etliche Male umgeschrieben, bekomme es aber nicht hin das das Fenster schließt. Das Problem ist, so lange ein Fenster offen ist läuft der Code nach dm Dialog nicht mehr weiter.
Bearbeitet von rklm:
Syntaxhighlighting. Bitte beachte Forum/Syntax!