das hier ist mein erster Post, deshalb stelle ich mich kurz vor (wenn das nicht interessiert, einfach überspringen

Mein Spitzname ist radi und ich bin Maschinenbau-Ingenieur im Automotive-Bereich. ich hatte im Studium sowie bisher im Job hauptsächlich mit Matlab zu tun und so richtig Spaß gemacht hats mir nie (lag vll auch an den nervigen Tools, die auf der Arbeit von ebenfalls Nicht-Infomatikern zusammen geschustert wurden) und bin deshalb auch nicht über kleine selbstgeschriebene Skripte hinausgekommen. Ich habe mir zu Anfang Lockdown aber zum Ziel gesetzt mich in die Programmierung mehr einzuarbeiten - aber nicht mit Matlab, da ich lizenz-unabhängig sein wollte. Naja ich schreibe jetzt hier, offensichtlich habe ich mich für Python entschieden

Zu meinem "Problem":
Ich habe ein Tool geschrieben, welches a) nicht objektorientiert aufgesetzt ist und b) ziemlich unkoordiniert gewachsen ist, wodurch erwartungsgemäß Änderungen nervig und umständlich werden.
--> Ich setze gerade das Tool neu auf. Die GUI habe ich mit QT neu gemacht, da ich hier mehr Möglichkeiten habe als mit Tkinter. Die GUI ist auch mehr oder weniger fertig und nun geht es daran die Struktur der Daten/Klassen und der Funktionen zu sortieren, so wie es am sinnvollsten ist. ich habe es versucht mir mal zu visualisieren, weil ich da noch nicht sattelfest bin:

Kurz zur Erklärung:
- Der Probanden-Typ (4 versch.) wird mittels RadioButtons definiert
- Die Berechnungsmethode (4 versch.)wird ausgewählt
- User füllt Inputs im GUI (abhängig von der Selection oben sind nur die relevanten aktiv)
Zur Steuerung der Inputsfelder gibt es hier dann 4*4 Zustände.
Ich versuche nun Klassen definieren, bin mir aber nicht sicher wie das am sinnvollsten ist. Ich habe mal die Klasse Config definiert, hier werden alle Inputs (RadioButtons und UserInputs) gesammelt, mit denen man dann die Berechnung starten kann. Die zweite Klasse ist die Klasse "Result". Hier befinden sich alle (nochmal) Inputs und Outputs. Zudem habe ich versucht die Funktionen, die ich im alten tool noch separat hatte, den Klassen zuzuordnen.
Was haltet ihr davon? Es gibt bestimmte Konzepte wie man Simulation-Setup, Inputs und Outputs am besten organisiert. Gibt es hierzu links oder ähnliches? Kommt das schon in die Richtung oder mache ich hier grundlegende Fehler?
Freu mich über euer Feedback!
radi