2017-01-13 7 views
0

내 모델에서 임의의 항목을 무작위로 제거하려고합니다. 해당 항목에 대한 참조가 있지만 beginRemoveRows() 메서드를 제대로 호출하는 것으로는 충분하지 않습니다. 각 항목에 대한 QModelIndex를 알아야합니다.QModelIndex없이 QTreeView에서 항목을 제거하십시오.

하지만 항목에 대한 QModelIndex를 얻으려면 부모를위한 QModelIndex도 알아야합니다!

virtual QModelIndex  index(int row, int column, const QModelIndex & parent = QModelIndex()) 

RootItem에만 부모가 없으므로 QModelIndex가 필요하지 않습니다. 그래서 거기에서 시작해야하고 재귀 적으로 모든 아이들을 샅샅이 뒤져서 이것이 올바른 방법 일 경우 각 항목에 대한 적절한 QModelIndex를 작성해야합니다.

임의 항목에 대해 QModelIndex를 얻는 더 좋은 방법이 있습니까?

답변

0

신경 쓰지 마세요. 분명히 createIndex 메서드를 사용하여 내 항목에 대한 QModelIndex를 만들 수 있습니다.

QModelIndex QAbstractItemModel::createIndex(int arow, int acolumn, void *adata) const