如何使用QCustomPlot绘制QAbstractItemModel

时间:2015-05-15 03:27:04

标签: c++ qt qabstractitemmodel qcustomplot

是否有直接的方式将QAbstractItemModel传递给QCustomPlot? 目前,我为QVector<double>Xval定义了两个yVal。当我必须绘制时,我从QAbstractItemModel更新这两个向量以启动绘图函数。

QCustomPlot是否可以接受QAbstractItemModel

1 个答案:

答案 0 :(得分:1)

AFAIK在QAbstractItemModel中没有对QCustomPlot的直接支持。我不确定您希望QCustomPlot如何绘制QAbstractItemModel的内容。如您所知,模型可以是简单模型,也可以是复杂模型,甚至是分层模型。对于像QCustomPlot这样的简单2D图,这是两个。但似乎有一种方法可以将QAbstractItemModel的子类数据分配给QCustomPlot,并使用QCPDataMap

您应该在QCPDataMap中填充模型的数据并将其分配给绘图。这就像是:

QCPDataMap *data = new QCPDataMap();

for(int i=0; i<count; i++)
    data->insertMulti(data->constEnd(), x[i], QCPData(x[i], y[i]));

plot->graph()->setData(data);

您可以使用x和y值在模型中生成QCPDataMap,并将其指向绘图。