我通过QTreeView显示QFileSystemModel。
每当用户点击目录(展开或未展开)时,我想获得此目录中的文件列表。
void MyModel::selectionChanged(const QItemSelection& selected,const QItemSelection& deselected) {
for (auto const & it : selected.indexes()) {
for (int i=0;i<rowCount(it);i++) {
auto child = it.child(i, it.column());
qDebug() << fileName(child);
}
}
}
上述代码的问题是,只有在扩展了特定目录后,这才会起作用。只要目录从未展开过(自程序启动以来),rowCount为0。
如何强制模型填充给定模型索引的子项?没有必要在视图中显示孩子?在这种情况下,一级儿童指数就足够了。