rowCount() 总是返回 0

问题描述 投票:0回答:1

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

qt4 qt4.8 qstandarditemmodel
1个回答
0
投票

如果项目被折叠,QTreeView 将返回 0

© www.soinside.com 2019 - 2024. All rights reserved.