我有一个QSortProxyFilterModel,它是QTreeView的模型。 QStandardItemModel用作QSortProxyFilterModel的源模型。
现在我正在尝试获取当前模型的子计数:
// my_filterModel is the QSortProxyFilterModel
// my_model is the QStandardItemModel
QModelIndex currentIndex = my_filterModel->mapToSource(
ui->treeView->currentIndex());
QStandardItem *currentItem = my_model->itemFromIndex(currentIndex);
qDebug() << "Row count: " << currentItem->rowCount();
但我的价值观不一致。
如果当前项目已折叠,我无法获得其子项,rowCount()
始终返回0
否则,rowCount()
返回非零值。
那么,即使物品被折叠,我怎样才能让所有的孩子都接受?
修改
看起来像是QTreeView的错误。如果您之前已展开这些子项,rowCount()
将返回有效值;否则它总是返回0