Code: Alles auswählen
ich habe ein Problem mit dem beenden mehrere geöffnete Fenster in meiner Anwendung.
Also ich habe ein Hauptfenster von wo aus ich mehrere Fenster öffnen kann (Anmelde-Fenster - Service-Fenster - Service-Funktion)
Die einzelen Fenster kann ich mit dem entsprechenden Button im Fenster beenden.
Aber wie kann ich alle geöffneten Fenster über den Beenden-Button im Haupt-Fenster beenden ?
Hier noch einige Infos zu meiner Anwendung:
Code: Alles auswählen
from tkinter import *
class MyApp(
windows = list()
def __init__(self, root, geometry, title):
Toplevel.__init__(self)
self.geometry('%dx%d+%d+%d' % geometry)
self.title(title)
Code: Alles auswählen
def anmelden(self):
# Fenster Anmeldung öffnen
self.FensterAn = Toplevel()
self.FensterAn.title('Anmeldung')
self.FensterAn.geometry('250x200')
# Label Benutzer Anmeldung
self.labelBenutzer = Label(self.FensterAn, text='Benutzer')
self.labelBenutzer.place(x=10, y=30, width=50, height=20)
# Label Benutzer Kennwort
self.labelKennwort = Label(self.FensterAn, text='Kennwort')
self.labelKennwort.place(x=10, y=60, width=50, height=20)
# Eingabe Benutzer
benutzer = Entry(self.FensterAn, bd =5,textvariable = self.Benutzer)
benutzer.place(x= 100, y=30)
# Eingabe Kennwort
kennwort = Entry(self.FensterAn, bd =5,textvariable = self.Kennwort)
kennwort.place(x= 100, y=60)
# Button zum Schließen des Fensters
self.buttonAn = Button(self.FensterAn, text='Anmelden',
command=self.anmeldung)
self.buttonAn.place(x=40, y=160, width=100, height=20)
Code: Alles auswählen
def anmeldung(self):
# Abfrage ob Kennwort Richtig
if self.Kennwort.get() == "1234":
self.Kennwort.set("")
self.service() # Fenster Service
self.FensterAn.quit()
self.FensterAn.destroy()
Code: Alles auswählen
def close_fenster(self):
self.quit() # Haupt-Fenster
self.destroy() # Haupt-Fenster
self.FensterAn.quit() # Anmelde-Fenster
FensterAn.destroy() # Anmelde-Fenster
self.FensterService.quit() # Service-Fenster
self.FensterService.destroy()
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python35\lib\tkinter\__init__.py", line 1549, in __call__
return self.func(*args)
File "J:\MeineProgramme\Python\Windows\Beispiele aus dem Internet\sz_01.py", line 329, in close_fenster
FensterAn.quit()
NameError: name 'FensterAn' is not defined
Juergen B.