Seite 1 von 1

mit einem Hauptprogramm immer neue Nebenprogramme öffnen

Verfasst: Montag 28. September 2020, 09:12
von BaumSchnitzel
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

Re: mit einem Hauptprogramm immer neue Nebenprogramme öffnen

Verfasst: Montag 28. September 2020, 09:39
von Sirius3
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.

Re: mit einem Hauptprogramm immer neue Nebenprogramme öffnen

Verfasst: Montag 28. September 2020, 09:44
von __blackjack__
@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.

Re: mit einem Hauptprogramm immer neue Nebenprogramme öffnen

Verfasst: Dienstag 29. September 2020, 14:15
von BaumSchnitzel
@__blackjack__ Danke jetzt funktionierts