Was ist das richtige Programmdesign?
Verfasst: 14. Oktober 2009 19:01
Hallo zusammen!
Ich habe eine prinzipielle Frage bzgl. des Programmdesigns mit Qt.
Meine Situation ist folgende: Ich möchte ein Programm schreiben, welches den Benutzer durch eine Folge von Zwischenschritten leitet. Die Abfolge ist dabei nicht linear vorgegeben, sondern es können - je nach Benutzereingaben - unterschiedliche Pfade genommen werden, um das Problem zu lösen.
Während der Benutzer durch das Programm geführt wird, wird parallel dazu eine Datenstruktur gefüllt, welche sich seine Eingaben merkt. Dieses Objekt muss also während aller Zwischenschritte verfügbar sein.
Meine Frage ist nun: Wie designe ich diese Zwischenschritte am besten?
1. Soll jeder Zwischenschritt eine Seite in QStackedWidget sein? Dann befürchte ich, dass das Programm recht groß und unübersichtlich wird, wenn ich alle Elemente miteinander verknüpfe. Außerdem müsste ich dann sehr aufpassen, wie die Reihenfolge der einzelnen Seiten ist und es könnte Chaos geben, wenn sich diese Reihenfolge während der Zeit ändert.
2. Soll jeder Zwischenschritt durch ein eigenes Widget realisiert sein, welches dann im Hauptprogramm mit den anderen Widgets verknüpft wird (z.B. wird bei einem Knopfdruck das aktuelle Widget geschlossen und ein neues für den nächsten Schritt angezeigt)? Dann hätte ich das Problem, dass ich jedes Mal, wenn ein Widget erstellt wird, die Verbindungen neue erzeugen müsste (z.B. wenn der Benutzer vor und zurück geht).
3. Liege ich total daneben und ein anderer Weg ist geschickter?
Vielen Dank an jeden, der sich die Mühe macht mir hierbei weiter zu helfen!
Ich habe eine prinzipielle Frage bzgl. des Programmdesigns mit Qt.
Meine Situation ist folgende: Ich möchte ein Programm schreiben, welches den Benutzer durch eine Folge von Zwischenschritten leitet. Die Abfolge ist dabei nicht linear vorgegeben, sondern es können - je nach Benutzereingaben - unterschiedliche Pfade genommen werden, um das Problem zu lösen.
Während der Benutzer durch das Programm geführt wird, wird parallel dazu eine Datenstruktur gefüllt, welche sich seine Eingaben merkt. Dieses Objekt muss also während aller Zwischenschritte verfügbar sein.
Meine Frage ist nun: Wie designe ich diese Zwischenschritte am besten?
1. Soll jeder Zwischenschritt eine Seite in QStackedWidget sein? Dann befürchte ich, dass das Programm recht groß und unübersichtlich wird, wenn ich alle Elemente miteinander verknüpfe. Außerdem müsste ich dann sehr aufpassen, wie die Reihenfolge der einzelnen Seiten ist und es könnte Chaos geben, wenn sich diese Reihenfolge während der Zeit ändert.
2. Soll jeder Zwischenschritt durch ein eigenes Widget realisiert sein, welches dann im Hauptprogramm mit den anderen Widgets verknüpft wird (z.B. wird bei einem Knopfdruck das aktuelle Widget geschlossen und ein neues für den nächsten Schritt angezeigt)? Dann hätte ich das Problem, dass ich jedes Mal, wenn ein Widget erstellt wird, die Verbindungen neue erzeugen müsste (z.B. wenn der Benutzer vor und zurück geht).
3. Liege ich total daneben und ein anderer Weg ist geschickter?
Vielen Dank an jeden, der sich die Mühe macht mir hierbei weiter zu helfen!