After-Methode Problem

Fragen zu Tkinter.
Antworten
DMD-OL
User
Beiträge: 168
Registriert: Samstag 26. Dezember 2015, 16:21
Wohnort: Oldenburg (Oldenburg)

Mittwoch 9. März 2016, 00:41

holla
wie kann ich nach Schließen mit der After-Methode wieder zurück zum Mainloop?

Code: Alles auswählen

#!/usr/bin/env python
# coding: utf-8

import Tkinter

def start():
    la_fenster = Tkinter.Tk()
    la_fenster.title('DMD-DATA.soft')
    la_fenster.geometry('800x400+285+180')


    def weiter():
        infLo = Tkinter.Toplevel(la_fenster)
        infLo.title('DMD-DATA.soft')
        infLo.geometry('400x200+1115+220')
        l_infLo1 = Tkinter.Label(infLo,text="'ZEITFENSTER'\n\n...is gleich wieder weg")
        l_infLo1.place(relx=.6, rely=.2, anchor="e")
        la_fenster.after(3000, lambda: la_fenster.destroy())

        #--> nach schliessen wieder zum start() zurueck, aber wie???

    b_ew1 = Tkinter.Button(la_fenster, text=('Weiter zum Zeitfenster'), width=20, command=weiter)
    b_ew1.place(relx=.63, rely=.53, anchor="w")
    la_fenster.mainloop()
start()
BlackJack

Mittwoch 9. März 2016, 01:04

@DMD-OL: Was meinst Du mit „wieder zum start() zurueck“? Willst Du vielleicht einfach nur eine Endlosschleife (``while True``) um den Inhalt der `start()`-Funktion legen‽

Die verschachtelte Funktion ist an der Stelle eigenartig. Das würde man eher mit objektorientierter Programmierung (OOP) lösen statt mit einem Closure.
DMD-OL
User
Beiträge: 168
Registriert: Samstag 26. Dezember 2015, 16:21
Wohnort: Oldenburg (Oldenburg)

Mittwoch 9. März 2016, 01:42

oh ha, hab mein problem falsch dargestellt :)
es reicht ja einfach, das Toplevel wieder zu schliessen.
hab das etwas anders gemeint, aber auch schon hinbekommen.
danke dir aber trotzdem für die schnelle antwort
Antworten