有没有直接的方法可以将 QAbstractItemModel
传递给 QCustomPlot ?
目前我正在为 QVector<double>
和 Xval
定义两个 yVal
。当我必须绘图时,我从 QAbstractItemModel
更新这两个 vector 以启动绘图功能。
QCustomPlot 有什么办法可以接受 QAbstractItemModel
吗?
最佳答案
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
并将其分配给绘图的指针。关于c++ - 如何使用 QCustomPlot 绘制 QAbstractItemModel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30251044/