QModelIndex TreeListModel::parent(const QModelIndex &index) const { if (!index.isValid()) return QModelIndex(); TreeList *childItem = static_cast<TreeList*>(index.internalPointer()); if (childItem == rootItem) return QModelIndex(); TreeList *parentItem = childItem->parent(); if (parentItem == rootItem) return QModelIndex(); return createIndex(parentItem->row(), 0, parentItem); }