Aufbau eines Python Programms mit GUI

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Marvin93
User
Beiträge: 38
Registriert: Samstag 4. Mai 2019, 15:16

Hallo,

ich bin denke ich schon leicht fortgeschritten in Python, heißt ich finde zumindest immer eine Lösung für mein Problem. Allerdings glaube ich, dass ich viele Sachen nicht besonders sauber programmiere und im Grunde habe ich überhaupt keine Ahnung wie ich den Code professionell aufbaue.

Ich will jetzt ein Programm schreiben mit dem ich meine finanzielle Situation irgendwie tracken kann. Also ich will eine GUI programmieren (Dachte an PyQt) auf der ich nach dem Einkauf die Kosten angeben kann ggf. mit Kategorien (zum Beispiel Lebensmittel, Hygieneartikel usw.). Aber auch mein Einkommen. Diese sollten dann in irgendeine Datenbank geschrieben werden (Egal, ob jetzt eine einfache CSV/Excel Datei oder was ganz anderes. Irgendwelche Tipps?). Es sollten hier ggf. verschiedene Konten hinterlegt sein. Also Girokonto, Paypal usw. Optimal wäre es natürlich, wenn ich diese Konten auch über die GUI neu erstellen könnte. Das ist aber erstmal kein Muss.
Außerdem will ich auf der Basis der Datenbank verschiedene Statistiken oder Auswertungen für einzelne Monate oder das ganze Jahr erstellen und plotten können. Ggf. später auch unterschieden in private und gewerbliche Finanzen unterteilen. Zumindest der aktuelle finanzielle Stand sollte auch durchgehend auf der GUI angezeigt werden.

Ich wollte irgendein Projekt was ich tatsächlich auch gebrauchen kann, der Fokus liegt aber schon eher darauf was zu lernen und programmieren zu üben. Wie ich die einzelnen Dinge (schreiben und lesen einer CSV, irgendwelche Plots erstellen usw.) umsetze, weiß ich ungefähr. Ich weiß auch ungefähr wie eine Klasse usw. aussieht. Ich denke ich könnte das auf meine unprofessionelle Art recht gut und schnell umsetzen, allerdings ist das Ziel, dass der Code immerhin ein bisschen professionell aufgebaut ist.
Ich habe aber keine Ahnung wie ich so ein Programm strukturiere. Was schreibe ich in welche Klasse und wie bzw. wo rufe ich diese Klassen oder Methoden dann jeweils auf usw.

Kann mir jemand sagen wie man grundsätzlich an sowas rangeht oder hat vielleicht irgendeine gute, nicht allzu lange Quelle an der Hand in der recht simpel erklärt wird wie man solche Programme oder generell Programme in Python strukturiert?

Gruß
Marvin
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Der wesentliche Punkt ist, dass alle Abhängigkeiten im Code zur Geschäftlogik hingehen. In- und Output, also auch die GUI, sollten von der Geschäftslogik abhängig sein, aber nicht umgekehrt. Dann kannst du zB. die Korrektheit deiner Geschäftslogik testen, ohne die GUI hochfahren zu müssen, bzw. ohne Dateien lesen/schreiben zu müssen. Dazu muss deine Geschäftslogik ein oder mehrere Interfaces bereitstellen, durch die von außen auf sie zugegriffen werden kann. Hier mehr: https://www.youtube.com/watch?v=DJtef410XaM
In specifications, Murphy's Law supersedes Ohm's.
Antworten