是否有直接的方式将QAbstractItemModel
传递给QCustomPlot?
目前,我为QVector<double>
和Xval
定义了两个yVal
。当我必须绘制时,我从QAbstractItemModel
更新这两个向量以启动绘图函数。
QCustomPlot是否可以接受QAbstractItemModel
?
答案 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
,并将其指向绘图。