Я пытаюсь вставить некоторые данные в TableView
из модели, но я делаю что-то не так, потому что данные не вставлены.Таблица обновляется столбцами и строками.
Так что у меня есть GraphicsView
, где я рисую некоторые пользовательские GraphicsItems
.Каждый раз, когда новый элемент добавляется на сцену, модель должна обновляться и посылать сигнал моему TableView
, чтобы также вставить в него данные.
Здесь я обновляю модель, когда новый элементДобавлено:
Clothoid *temp = new Clothoid();
temp->setStartPoint(p1);
temp->setEndPoint(p2);
clothoids.append(temp);
scene->addItem(temp);
model.setColumnCount(3);
model.setRowCount(clothoids.size());
QModelIndex index = model.index(clothoids.size(), 1, QModelIndex());
model.setData(index, clothoids.last()->startCurvature);
index = model.index(clothoids.size(), 2, QModelIndex());
model.setData(index, clothoids.last()->endCurvature);
index = model.index(clothoids.size(), 3, QModelIndex());
model.setData(index, clothoids.last()->clothoidLength);
emit clothoidAdded(&model);
Клотоиды, являющиеся списком моих пользовательских графических элементов:
QList < Clothoid *> clothoids;
Сигнал подключен к слоту в моем главном окне:
ui->setupUi(this);
SpinBoxDelegate delegate;
ui->clothoidTable->setItemDelegate(&delegate);
connect(ui->graphicsView, SIGNAL(clothoidAdded(QStandardItemModel*)), ui->clothoidTable, SLOT(onClothoidAdded(QStandardItemModel*)));
где слот:
void TableViewList::onClothoidAdded(QStandardItemModel *model)
{
setModel(model);
}
Что я делаю не так?