QGraphicsView
hace 2D trazado muy bien y le da muchas opciones de cómo mostrarlo. No es tan adaptado para trazar datos científicos como qwt
, pero solo por mostrar un montón de puntos, geometría o animaciones y muchas otras cosas, funciona muy bien. Consulte la documentación y ejemplos de Qt's Graphics View Framework.
Así es como trazas un montón de puntos en un QGraphicsScene
y lo muestras en 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();
}
Nota: es probable que desee llamar setSceneRect
en su opinión, de lo contrario la escena se acaba de auto-centro de la misma. Lea las descripciones para QGraphicsScene
y QGraphicsView
en la documentación de Qt. Puede escalar la vista para mostrar más o menos de la escena y puede poner barras de desplazamiento. Respondí un question relacionado donde muestro más acerca de lo que puede hacer con un QGraphicsView
que es posible que desee ver también.
Posible duplicado de: Hacer una trama en Qt (http://stackoverflow.com/questions/1491362/making-plot-in-qt) – yasouser