有没有直接的方法可以将 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/

10-10 07:24