Как построить QAbstractItemModel, используя QCustomPlot
Есть ли прямой способ пройти QAbstractItemModel
в QCustomPlot? В настоящее время я определяю два QVector<double>
за Xval
а также yVal
, Когда мне нужно построить график, я обновляю эти два вектора из QAbstractItemModel
запустить сюжетную функцию.
Есть ли способ, который может принять QCustomPlot? QAbstractItemModel
?
1 ответ
AFAIK нет прямой поддержки QAbstractItemModel
в QCustomPlot
, Я не уверен, как вы ожидаете QCustomPlot
рисовать содержимое QAbstractItemModel
, Как вы знаете, модель может быть простой или сложной или даже иерархической. Это очень много для простого 2D-сюжета, как QCustomPlot
, Но, кажется, есть способ назначить данные подкласса 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);
Вы можете генерировать QCPDataMap
в вашей модели, используя значения x и y, и назначьте указатель на график.