Tipps für Programmaufbau
Verfasst: Samstag 5. Oktober 2019, 23:22
Hallo Leute
ich Programmiere zur Zeit eine Fernsteuerunng für ein voll funktionsfähiges Modell.
Ich habe eine Klasse welche die Grafische Oberfläche beinhaltet und die "Signals" der Buttons, Slider etc. beherbergt,
eine Klasse welche das mathematische Modell beinhaltet und eine Klasse welche sich um das Protokoll und die 2 Wege Kommunikation mit dem Physischen Modell kümmert.
der Übersicht halber alles einzelne .py dateien.
Ich stehe allerdings gerade auf dem schlauch wie ich jetzt alles "Zusammen baue"
mit Threading habe ich mich schon auseinander gesetz und denke dass ich garnicht drum herum komme das einzusetzen.
Meine erste Idee war Sternförmig aus dem Mainprogram heraus die Gui, die Simulation und die Kommunikation zu starten wobei die Simulation und die Kommunikation in extra threads laufen. Das Main Programm sollte die Events und Analogen Werte von der Gui abfragen, an die Simulation übergeben, und die Ergebnisse dann an die Kommunikation zum übermitteln weiter geben. Schließlich die Empfangenen Daten vom Modell wieder an die Gui übergibt zum darstellen.
Problem... Die Main läuft bis "app.exec_()" Damit läuft die Gui aber alles andere wird erst ausgeführt wenn die Gui geschlossen wird bzw. hat nur einen Programmdurchlauf bis zu dem Punkt.
Ich habe gelesen man soll die Gui im Mainthread laufen lassen damit die funktioniert...
Jetzt stehe ich wie bereits erwähnt erstmal auf dem schlauch...
Wie baut man am besten ein solchen Programm auf?
Ich würde ungerne alles in die Gui klasse integrieren und daraus aufrufen um die einzelnen Programmteile schön getrennt behandeln zu können.
Über Tipps und vll sogar Literatur/Tutorial Hinweise würde ich mich sehr freuen.
Danke schonmal.
ps. Das Programm ist im Prinzip "nur" die Umsetzung meiner auf einem Arduino geschriebenen Fernbedienung welche aber nicht sonderlich Benutzerfreundlich ist Deshalb will ich das ganze mit einem Raspi und Touchscreen umsetzen. Dachte mir kann ja nicht soo schwer sein... Pustekuchen
die einzelnen Klassen für sich funktionieren soweit schonmal.
ich Programmiere zur Zeit eine Fernsteuerunng für ein voll funktionsfähiges Modell.
Ich habe eine Klasse welche die Grafische Oberfläche beinhaltet und die "Signals" der Buttons, Slider etc. beherbergt,
eine Klasse welche das mathematische Modell beinhaltet und eine Klasse welche sich um das Protokoll und die 2 Wege Kommunikation mit dem Physischen Modell kümmert.
der Übersicht halber alles einzelne .py dateien.
Ich stehe allerdings gerade auf dem schlauch wie ich jetzt alles "Zusammen baue"
mit Threading habe ich mich schon auseinander gesetz und denke dass ich garnicht drum herum komme das einzusetzen.
Meine erste Idee war Sternförmig aus dem Mainprogram heraus die Gui, die Simulation und die Kommunikation zu starten wobei die Simulation und die Kommunikation in extra threads laufen. Das Main Programm sollte die Events und Analogen Werte von der Gui abfragen, an die Simulation übergeben, und die Ergebnisse dann an die Kommunikation zum übermitteln weiter geben. Schließlich die Empfangenen Daten vom Modell wieder an die Gui übergibt zum darstellen.
Problem... Die Main läuft bis "app.exec_()" Damit läuft die Gui aber alles andere wird erst ausgeführt wenn die Gui geschlossen wird bzw. hat nur einen Programmdurchlauf bis zu dem Punkt.
Ich habe gelesen man soll die Gui im Mainthread laufen lassen damit die funktioniert...
Jetzt stehe ich wie bereits erwähnt erstmal auf dem schlauch...
Wie baut man am besten ein solchen Programm auf?
Ich würde ungerne alles in die Gui klasse integrieren und daraus aufrufen um die einzelnen Programmteile schön getrennt behandeln zu können.
Über Tipps und vll sogar Literatur/Tutorial Hinweise würde ich mich sehr freuen.
Danke schonmal.
ps. Das Programm ist im Prinzip "nur" die Umsetzung meiner auf einem Arduino geschriebenen Fernbedienung welche aber nicht sonderlich Benutzerfreundlich ist Deshalb will ich das ganze mit einem Raspi und Touchscreen umsetzen. Dachte mir kann ja nicht soo schwer sein... Pustekuchen
