【发布时间】:2015-07-17 10:13:34
【问题描述】:
TreeView 显示我的数据不正确。怎么了?
这里是添加孩子的功能
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;
}
在某些情况下,从 QML 调用此函数会使 QML 中的索引变得混乱。它开始显示错误的项目或无效的项目,尤其是当父母有孩子的任务时(2 级树)。 怎么了?
【问题讨论】:
标签: qt model-view-controller treeview qtquick2 qt-quick