Hallo,
ich schreibe an einem kleinen Kassenbuchprogramm und versuche nun eine grafische Darstellung der Ein- und Ausgaben. Hat vielleicht irgendjemand einen Tipp wie ich das realisieren kann?
Vielen Dank
Steffen
Realisierung einer grafischen Auswertung
-
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Hi Steffen
wie wär's mit QTable ?
ansonsten habe ich mir eine Art Reportklasse geschrieben die auf QTextBrowser basiert und welche die Darstellung von Qt - Richttext in (beliebigen) Zeilen und Spalten und so weiter (sowie die erfordliche Überschrift und die Druckfunktionen) beherrscht (oder zumindest aus meiner Sicht erheblich vereinfacht).
Im Prinzip könntest Du da mal reinschauen (allerdings erst im nächsten Jahr 100% ig übernehmen geht wohl nicht, weil ich mit einer objektorientierten Datenbank arbeite und einfach meine darzustellenden persistenden Objekte (bzw. die zugehörigen Sets) reinschmeisse.
Gruss Arne
wie wär's mit QTable ?
ansonsten habe ich mir eine Art Reportklasse geschrieben die auf QTextBrowser basiert und welche die Darstellung von Qt - Richttext in (beliebigen) Zeilen und Spalten und so weiter (sowie die erfordliche Überschrift und die Druckfunktionen) beherrscht (oder zumindest aus meiner Sicht erheblich vereinfacht).
Im Prinzip könntest Du da mal reinschauen (allerdings erst im nächsten Jahr 100% ig übernehmen geht wohl nicht, weil ich mit einer objektorientierten Datenbank arbeite und einfach meine darzustellenden persistenden Objekte (bzw. die zugehörigen Sets) reinschmeisse.
Gruss Arne
-
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Also ich habe das Problem genau anders herum gelöst als Arne.
QTable wird einfach gedruckt, nach den Maßen, die vorhanden sind, wie Header, Height, Weight. Hier wird einfach die Tabelle 1:1 gedruckt wenn du so willst, das macht bei mir auch Sinn, weil man nach der Auswertung, z.B. Texte oder sonstwas schnell noch verbessern, anpassen kann, was dann genauso gedruckt wird.
Allerdings ziemlich clever, sone ReportingClass. Was meinst du eigentlich mit grafischer Darstellung von Ein- und Ausgaben? Schwarz und Rot!? Oder doch was ganz anderes?
QTable wird einfach gedruckt, nach den Maßen, die vorhanden sind, wie Header, Height, Weight. Hier wird einfach die Tabelle 1:1 gedruckt wenn du so willst, das macht bei mir auch Sinn, weil man nach der Auswertung, z.B. Texte oder sonstwas schnell noch verbessern, anpassen kann, was dann genauso gedruckt wird.
Allerdings ziemlich clever, sone ReportingClass. Was meinst du eigentlich mit grafischer Darstellung von Ein- und Ausgaben? Schwarz und Rot!? Oder doch was ganz anderes?
ich meine damit z.B. ein Balkendiagramm oder ein Liniendiagramm, wo der Verlauf der Ein oder Ausgaben dargestellt wird. Die Daten stehen schon in einer QTable drin, aber das ist ja keine grafische Darstellung. Ein einfaches Balkendiagramm habe ich jetzt mit QPainter.fillRect() realisiert.FlorianBecker hat geschrieben: Was meinst du eigentlich mit grafischer Darstellung von Ein- und Ausgaben? Schwarz und Rot!? Oder doch was ganz anderes?
Jetzt fehlt mir noch ein Verlauf über Eingaben bzw. Ausgaben, also irgendein Liniendiagramm. Bin dabei es mit QPainter.drarPolyline().
Danke für euer Hilfe und weitere Tipps
Steffen
-
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Ein Balken Ein- und ein Balken Ausgaben?
Mh, drawPolyline? Also mehr son Diagramm mit Punkten verbinden.
.___. .___.
./ \.____./ \.
So in etwa? Ja, warum nicht, das scheint reliable. Schade, Leerzeichen gehen nicht richtig. Brauchst ein wenig Fantasie, aber wenn es das richtige war, dann weisst du was es sein soll.
Mh, drawPolyline? Also mehr son Diagramm mit Punkten verbinden.
.___. .___.
./ \.____./ \.
So in etwa? Ja, warum nicht, das scheint reliable. Schade, Leerzeichen gehen nicht richtig. Brauchst ein wenig Fantasie, aber wenn es das richtige war, dann weisst du was es sein soll.
Hi,
ich wuerde das nach dem MVC (Model View Concept) versuchen zu loesen. Dabei sind die Daten und die "Sicht" auf die Daten gekapselt.
Ich weiss nicht, wie genau das in deiner Table implementiert ist, aber dazu muesstes du die Daten in einer Extra Klasse, dem Modell verwalten und verschiedene andere Klassen registrieren sich als "interessiert" an diesen Daten bei dieser Modellklasse. Das waeren dann z.B. Deine Table Klasse und spaeter noch verschiedene andere Views (Balkendiagrammklasse, Liniendiagrammklasse etc...)
Aendern sich nun die Daten, egal von wo getriggert ist das modell verantwortlich allen interessierten Klassen sprich Views zu informieren. So sind alle Views immer sycnron und auf dem aktuellen Stand.
Hoffe das hat etwas geholfen.
Zu diesem Thema findest du viel im Netz wenn du mal nach "MVC - Model View Concept" oder auch "Observer Pattern". suchst.
Gruss,
Nando
ich wuerde das nach dem MVC (Model View Concept) versuchen zu loesen. Dabei sind die Daten und die "Sicht" auf die Daten gekapselt.
Ich weiss nicht, wie genau das in deiner Table implementiert ist, aber dazu muesstes du die Daten in einer Extra Klasse, dem Modell verwalten und verschiedene andere Klassen registrieren sich als "interessiert" an diesen Daten bei dieser Modellklasse. Das waeren dann z.B. Deine Table Klasse und spaeter noch verschiedene andere Views (Balkendiagrammklasse, Liniendiagrammklasse etc...)
Aendern sich nun die Daten, egal von wo getriggert ist das modell verantwortlich allen interessierten Klassen sprich Views zu informieren. So sind alle Views immer sycnron und auf dem aktuellen Stand.
Hoffe das hat etwas geholfen.
Zu diesem Thema findest du viel im Netz wenn du mal nach "MVC - Model View Concept" oder auch "Observer Pattern". suchst.
Gruss,
Nando
du kannst dir das MVC unter QT schön leicht machen, indem du einfach SIGNAl & SLOTS benutzt und einfach die Änderung in ein Signal packst und an alle interesierten Klaasen schickst.
Die sollten dann nur eine Methode in diesen Klassen haben die auf dieses Signal reagiert und die Änderungen übernimmt und dann ein repaint macht.
Mit QT schön zu lösen find ich
gandalf
Die sollten dann nur eine Methode in diesen Klassen haben die auf dieses Signal reagiert und die Änderungen übernimmt und dann ein repaint macht.
Mit QT schön zu lösen find ich
gandalf
benutzte QT 3.2 nc auf w2k