mit einem Hauptprogramm immer neue Nebenprogramme öffnen

Fragen zu Tkinter.
Antworten
BaumSchnitzel
User
Beiträge: 2
Registriert: Dienstag 22. September 2020, 06:57

Hallo Zusammen

Ich habe ein schon ein paar Programme geschrieben und würde die gerne zusammenhängen. Also jedes mal wenn ich auf dem Fenster auf Fertig drücke wird das nächste Fenster geöffnen.

Vielen Dank im Voraus
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Schön. Du mußt nur darauf achten, dass es nur eine Tk-Instanz gibt und auch nur einen Aufruf von mainloop. Alle weiteren Fenster sind vom Typ TopLevel.
Benutzeravatar
__blackjack__
User
Beiträge: 13107
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@BaumSchnitzel: Und das konkrete Problem dabei ist jetzt welches? Wenn das sauber programmiert ist, dann ist ja jedes Programm ein Modul mit einer Funktion für das Hauptprogramm. Also kannst Du ein Programm schreiben was die ganzen anderen Module importiert, und dann der Reihe nach diese Funktion aufruft. Wenn die immer den gleichen Namen hat, und das hat sie normalerweise (`main()`), kann man einfach eine Schleife über die Module schreiben in der diese Funktion aufgerufen wird.

Auf oberster Ebene sollte ein Projekt nur ein Modul/Package haben, damit die Wahrscheinlichkeit von Namenskollisionen mit anderen installierten Modulen/Packages möglichst gering bleibt.

Das könnte dann also so aussehen:

Code: Alles auswählen

#!/usr/bin/env python3
from the_package import first_program, second_program, third_program


def main():
    for program in [first_program, second_program, third_program]:
        program.main()


if __name__ == "__main__":
    main()
Wenn das nicht funktioniert, den vorhandenen Code so ändern, dass es funktioniert.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
BaumSchnitzel
User
Beiträge: 2
Registriert: Dienstag 22. September 2020, 06:57

@__blackjack__ Danke jetzt funktionierts
Antworten