我遇到的问题是,我希望按其文件名对TreeView
QFileSystemModel
进行排序。我尝试在Qt filesystembrowser示例(QtCreator - > Welcome - > Examples - > TreeView)上这样做。排序工作没有问题,但如果我选择了一些文件,排序后选择不会更新。对于选择我使用ItemSelectionModel
,我可以看到排序后,它的selectedIndexes
属性保持完全相同。 QT中是否有更新selectedIndexes
属性的功能?
要添加排序到我添加的示例
sortIndicatorVisible: true
onSortIndicatorOrderChanged: {
fileSystemModel.sort(sortIndicatorColumn, sortIndicatorOrder)
}
到TreeView
和
Q_INVOKABLE virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override {
qDebug("sort by column %d",column);
QFileSystemModel::sort(column,order);
}
如果要重现行为,请到DisplayFileSystemModel
。