Viele Fragen zu Finanzen App

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
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

Ich habe vor, mir ein Programm zu schreiben, was meine Finanzen verwaltet. Dazu zählt eine Tabelle, in der Einnahmen, Ausgaben, Name, Beschreibung und sowas steht. Zusätzlich wäre eine Statistik ganz nett, in Form von Diagramm, z.B. ein Kreisdiagramm, was Kategorien anzeigt.

Dazu einige Fragen:

1. Was für eine GUI sollte ich nehmen? Tkinter oder anderes? Vor allem wegen der Tabelle interessant.
2. Wie kann ich Diagramme in Python erstellen (z.B. das oben genannte Kreisdiagramm oder eins, was mein Saldo-Verlauf zeigt)?
3. Wie kann ich das Programm in der OOP darstellen? (bitte vereinfacht schreiben, also nur eine Art Denkanstoß)
4. Wie geht man bei so einem Projekt allgemein vor? (ich weiß, blöde Frage. Aber ich weiß einfach nicht, wie ich anfangen soll)

Das wäre es erstmal. Was wahrscheinlich nicht geht, ist eine Anbindung an das Sparkasse-Konto, oder?

Danke
nohtyP
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Wird relativ aufwändig.. einfacher wäre sowas in Excel bzw OpenOffice.

Ansosten schau dir mal die Beispiele von http://matplotlib.org/ an.

Gruß
Alpha
BlackJack

Wieso aufwändig? Das kann man sich zwar beliebig aufpusten aber die Grundfunktionalität lässt sich auch mit ein paar Shellskripten und CSV-Dateien umsetzen.
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

Ok, Nr. 2 hätte ich damit.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Bei der GUI solltest du vielleicht gleich Qt oder GTK nutzen, da hast du nachher wahrscheinlich etwas mehr Möglichkeiten, falls du mal komplexere Sachen nehmen möchtest. Außerdem sehen sie besser aus :D

(Ich habe mich allerdings noch nie mit Tkinter beschäftigt, deswegen kann ich mich auch irren!)
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

GTK geht denke ich mal nicht, da ich auf Mac unterwegs bin. Was ist mit wxPython? Hat jemand Erfahrung damit? Qt muss ich mir mal anschauen.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Qt bietet den Vorteil, dass es überall recht gut aussieht und sich relativ gut dem Betriebssystem anpasst. Bei GTK merkt man leider (insbesondere unter Windows) sehr schnell, dass es eben GTK ist...
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

Ok, dann nehme ich Qt.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Hellstorm hat geschrieben:Qt bietet den Vorteil, dass es überall recht gut aussieht und sich relativ gut dem Betriebssystem anpasst. Bei GTK merkt man leider (insbesondere unter Windows) sehr schnell, dass es eben GTK ist...
Und bei QT? Hier nehmen sich GTK und QT nicht viel.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

darktrym hat geschrieben:
Hellstorm hat geschrieben:Qt bietet den Vorteil, dass es überall recht gut aussieht und sich relativ gut dem Betriebssystem anpasst. Bei GTK merkt man leider (insbesondere unter Windows) sehr schnell, dass es eben GTK ist...
Und bei QT nicht? Hier nehmen sich GTK und QT nicht viel.
Ich meinte das z.B. insbesondere im Hinblick auf das Tippen bei Textfeldern, den Dateiöffnungsdialog und die Schriftengine. Man merkt sehr stark, dass Windows bei GTK sehr stiefmütterlich behandelt wird. Unter Linux klappt das im Gegensatz dazu plötzlich ziemlich gut.

Wer mal ein Negativbeispiel sehen möchte, der kann sich Gramps unter Windows anschauen. Die Schriftarten sehen alle schlecht aus, der Dateiöffnendialog ist nicht der normale Standard-Windows-Dialog und allgemein sieht es einfach irgendwie „fremd“ aus (meine persönliche Meinung). Auch Pidgin ist imho ein Negativbeispiel.

Im Gegensatz ist z.B. Anki mit PyQt geschrieben worden, und wenn man nicht weiß, dass es ein Qt-Programm ist, würde man das wahrscheinlich gar nicht bemerken.

Zu WxWidgets kann ich nicht viel sagen, wobei Filezilla, Code::Blocks und Audacity ja nicht soo schlecht zu sein scheinen.
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

Also ich habe mich jetzt für Qt entschieden. Jetzt müsste ich nur noch Nr. 3 (und 4) wissen.
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo

1. 2. (3.)4. →→(ipython notebook im Verein mit matplotlib)


Karolus
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

Hallo,
ich habe bei mir ein ähnliches Projekt. Aus dem Spaß einem Computer etwas Soll/Haben-Buchen beizubringen entstand mein persönliches privates Haushaltsbuch. Ich bin derzeit dabei, das damals (1990) in GW-Basic später QBasic geschriebene Programm in Python völlig neu aufzusetzen.
_nohtyp_ hat geschrieben: 3. Wie kann ich das Programm in der OOP darstellen? (bitte vereinfacht schreiben, also nur eine Art Denkanstoß)
Ich bin auch erst Anfänger in Sachen GUI-Programmierung, aber so wie man liest, ist das ohne OOP eigentlich so gut wie gar nicht oder nur sehr schwer möglich. In gewisser Weise ist das auch nachvollziehbar, weil so eine GUI kann man ja gut als Objekt darstellen, welches man dann auf irgendeine Weise manipuliert (mache das Objekt Fenster, zeige mir in dem Fenster die Buchungen von Konto XY an, zeige in dem Fenster die Buchungsmaske ........)
Bei der eigentlichen Verarbeitung der Daten kommt es sicher darauf an, ob es sich lohnt/vorteilhaft ist, die ganze Sache als Objekt darzustellen oder ob nicht eine einfache Funktion reicht. Das kann man aber sicher nicht pauschal sagen. Kommt auf das Problem an.
4. Wie geht man bei so einem Projekt allgemein vor? (ich weiß, blöde Frage. Aber ich weiß einfach nicht, wie ich anfangen soll)
Ich mache es immer so, dass ich das Ziel definiere und dann schaue, was gegeben ist und welchen Weg ich gehen muss, um das Ziel zu erreichen. Dennoch kann bei dem Ziel und den Gegebenheiten trotzdem noch einges an Dynamik drin sein.

in deinem Fall:
Ziel: Auswertungen von Einnahmen und Ausgaben
Gegeben: Kontoauszüge, Kassenbuch etc
Weg: wie müssen die Kontoauszüge, Kassenbuch etc in einer Datenbank abgelegt sein, damit daraus die verschiedenen Auswertungen erstellt werden können?
Das wäre es erstmal. Was wahrscheinlich nicht geht, ist eine Anbindung an das Sparkasse-Konto, oder?
Ich meine, ich hätte mal was gelesen, dass es da wohl ein fertiges Modul für HBCI gibt. Da müsstest mal im Netz suchen.
Da man in der Regel bei den Banken die Buchungen auch als CSV-Datei aus dem Banking runterladen kann, habe ich mich entschlossen, diese Dateien aufzubereiten und dann in mein Programm zu übernehmen.

Viel Spaß beim Programmieren!
_nohtyp_
User
Beiträge: 127
Registriert: Mittwoch 8. Januar 2014, 15:38

Danke! Das hilft und motiviert :D
Antworten