Grossen Graphen in Qt zeichnen



  • Abend!

    Ich möchte in Qt einen großen Graphen zeichnen. Ich habe auf der x-Achse (Zeit) ziemlich viele Werte (Tausende) und für jeden x-Wert muss ich eine Box zeichnen. Die Daten gehen bis ins Jahr 2000 zurück. Würde ich also von 2000 bis heute den ganzen Graph zeichnen, müsste ich Tausende Boxen zeichnen. Meistens sieht der User allerdings nur einen kleinen Ausschnitt (z.B. November 2013).

    Weiß jemand wie man das effizient (schnell, ohne flackern etc.) in Qt so eine große Datenreihe zeichnen kann? Ich bin totaler Qt Anfänger und mir fehlt etwas der Einstieg. Initial dachte ich an sowas: Ich überschreibe das paintEvent() eines normalen QWidget und bette dieses QWidget dann in ein QScrollArea ein. Problem: Ich würde dann ja den ganzen Graphen mit Tausenden Boxen zeichnen. Kann ich irgendwie erkennen, welchen Bereich der User gerade sieht und dann nur diesen zeichnen? Oder geht das ganz anders?



  • Probiers mit QGraphicsScene + QGraphicsView. Da steckt schon einiges an Optimierung drin.


Log in to reply