TreeView Shows my data not correctly. What is wrong?
Here is the function of adding a child
bool TreeModel::addChild(const QVariant &data, const QModelIndex &parent)
{
Task *parentTask;
if (!parent.isValid()){
qDebug() << "addChild() - parent is not valid";
parentTask = rootItem;
}
else
parentTask = static_cast<Task*>(parent.internalPointer());
Task *childTask = new Task(data, parentTask);
qDebug() << QString::number((int)childTask);///
int childCount = childTask->childCount();
emit beginInsertRows(parent, childCount, childCount);
parentTask->appendChild(childTask);
emit endInsertRows();
//emit dataChanged(parent, parent);
return true;
}
In some situations calling this function from QML makes a mess with Indexes in QML. It start show wrong items or invalid items, especially when Parent has tasks with children (2 levels tree). What is wrong?