0

我有一个 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

4

0 回答 0