Hm, sehe nach kurzem Schauen keinen Fehler. Füge mal die Series noch ein
zweites Mal mit addSeries hinzu, tut sich dann was? Ich denke der Fehler
ist nicht, dass nicht repainted wird, sondern was anderes.
Du musst auch bedenken, dass vor app->exec() überhaupt nix gepainted
wird, das passiert immer nur, wenn ein PaintEvent kommt -- und das
wiederum passiert sicherlich nicht, bevor das Fenster aufgeht. Der Code
müsste sich also gleich verhalten, wenn du alle repaint / update-Aufrufe
rauswirfst.
Ich muss allerdings auch sagen, dass ich eine Weile mit QCharts
gearbeitet habe und kein Fan bin. Dafür gibt es 3 Gründe:
- Die API ist verwirrender, als sie es sein müsste. Mit dem
QGraphicsView gibt es irgendwie drei oder sogar vier relevante
Koordinatensysteme (die GraphicsView-Koordinaten, die Daten-Koordinaten,
die Pixel-Koordinaten, ...). So viele bräuchte man nicht. Das mit den
Achsen hätte man auch eleganter lösen können, weil >95% der Anwendungen
immer nur ein Paar Achsen hat. Viele andere Dinge könnten auch wirklich
einfacher sein. Und besonders umfangreich ist sie auch nicht. Update:
Haha, ich sehe, der erste Poster in dem verlinkten Thread ist derselben
Meinung.
- Die Qualität der erzeugten Plots ist bestenfalls mäßig. Sinnvolle
automatische Achsenskalierung? Fehlanzeige. Sinnvolle Anzeige von Labels
auf den Achsen? Sicher nicht. Sinnvolle Ticks? Nö. Verglichen mit dem,
was z.B. Qwt oder matplotlib tun ist das ein Witz.
- Anders als der Großteil von Qt ist das Modul GPL, was strenge
Auflagen für darauf basierende Software zur Folge hat.
Mein Rat: wenn du nicht nur 3 Punkte malen willst, nimm lieber gleich
Qwt. Die API ist zwar manchmal etwas over-engineered, aber insgesamt ist
das ein viel ernstzunehmenderes Projekt. QtCharts ist ein schnell
zusammengehacktes Hipster-Modul, was an Geschäftskunden verkauft werden
soll, die in ihrer Qt Smartphone-App einen Aktienkurs rendern wollen.