Seite 1 von 1
Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Donnerstag 22. Februar 2018, 20:02
von l30n100
Hallo,
ich wollte einmal wissen, ob man ein Fenster/Window aus einer anderen Klasse aus schließen kann.
lg
Re: Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Donnerstag 22. Februar 2018, 20:09
von __deets__
Ja, wieso denn nicht? Eine Klasse kann doch Argumente bekommen, die sie sich merkt & dann zb destroy aufruft. Wieso sollte das nicht gehen?
Re: Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Donnerstag 22. Februar 2018, 20:10
von Sirius3
@l30n100: Python ist es egal, von welcher Funktion aus Methoden von Objekten aufgerufen werden. Man sollte aber Statusänderungen nur von der verantwortlichen Instanz aus ausführen, sonst verliert man den Überblick.
Re: Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Freitag 23. Februar 2018, 10:06
von wuf
Hi l30n100
Wenn du das Hauptfenster mit
mein_hauptfenster.destroy() schliesst, welches durch
mein_hauptfenster = tk.Tk() entsteht, beendest du auch deine Anwendung. Dies ist nicht der Fall, wenn du ein Zusatzfenster schliesst das mit
mein_zusatzfenster = tk.Toplevel() erzeugt wurde. Das heisst ein Hauptfenster bleibt so lange bestehen bis du dein Anwendung beendest. Du kannst aber das Hauptfenster mit
mein_hauptfenster.withdraw() unsichtbar machen während ein Zusatzfenster geöffnet wird. Nach dem schliessen eines Zusatzfensters mit
mein_zusatzfenster.destroy() kann dann das Hauptfenster mit
mein_hauptfenster.deiconify() wieder sichtbar gemacht werden.
Gruss wuf
Re: Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Freitag 23. Februar 2018, 14:23
von l30n100
wuf hat geschrieben:Hi l30n100
Wenn du das Hauptfenster mit
mein_hauptfenster.destroy() schliesst, welches durch
mein_hauptfenster = tk.Tk() entsteht, beendest du auch deine Anwendung. Dies ist nicht der Fall, wenn du ein Zusatzfenster schliesst das mit
mein_zusatzfenster = tk.Toplevel() erzeugt wurde. Das heisst ein Hauptfenster bleibt so lange bestehen bis du dein Anwendung beendest. Du kannst aber das Hauptfenster mit
mein_hauptfenster.withdraw() unsichtbar machen während ein Zusatzfenster geöffnet wird. Nach dem schliessen eines Zusatzfensters mit
mein_zusatzfenster.destroy() kann dann das Hauptfenster mit
mein_hauptfenster.deiconify() wieder sichtbar gemacht werden.
Gruss wuf
Vielen dank für die Antworten.
Gut zu wissen, dass man Fenster unsichtbar machen kann.
lg
Re: Ist es möglich ein "tkinter.Tk()" von einer anderen Klasse aus zu "destroyen()"?
Verfasst: Freitag 23. Februar 2018, 14:26
von l30n100
__deets__ hat geschrieben:Ja, wieso denn nicht? Eine Klasse kann doch Argumente bekommen, die sie sich merkt & dann zb destroy aufruft. Wieso sollte das nicht gehen?
oh man stimmt.
das man Argumente einfügen kann, wusste ich, aber jetzt ist es mir klar geworden.
lg