QGraphicsView
2D-t tracé très bien et vous donne beaucoup d'options sur la façon de l'afficher. Il n'est pas aussi adapté pour tracer des données scientifiques que qwt
, mais juste pour montrer un tas de points, ou de la géométrie ou des animations et beaucoup d'autres choses cela fonctionne très bien. Voir la documentation et les exemples de Qt's Graphics View Framework.
Voici comment tracer un tas de points dans un QGraphicsScene
et le montrer dans un QGraphicsView
.
#include <QtGui/QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QPointF>
#include <QVector>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QVector <QPointF> points;
// Fill in points with n number of points
for(int i = 0; i< 100; i++)
points.append(QPointF(i*5, i*5));
// Create a view, put a scene in it and add tiny circles
// in the scene
QGraphicsView * view = new QGraphicsView();
QGraphicsScene * scene = new QGraphicsScene();
view->setScene(scene);
for(int i = 0; i< points.size(); i++)
scene->addEllipse(points[i].x(), points[i].y(), 1, 1);
// Show the view
view->show();
// or add the view to the layout inside another widget
return a.exec();
}
Note: Vous voudrez probablement appeler setSceneRect
sur votre point de vue, sinon la scène sera juste centre auto il. Lisez les descriptions pour QGraphicsScene
et QGraphicsView
dans la documentation Qt. Vous pouvez redimensionner la vue pour montrer plus ou moins de la scène et il peut mettre des barres de défilement. J'ai répondu à un question connexe où je montre plus sur ce que vous pouvez faire avec un QGraphicsView
que vous pouvez vouloir regarder aussi.
Possible duplicate de: Faire un tracé dans Qt (http://stackoverflow.com/questions/1491362/making-plot-in-qt) – yasouser