Qt中的项在树视图中没有排序

Items are not sorted in a tree view in Qt

本文关键字:排序 视图 Qt      更新时间:2023-10-16

在Qt文档中有一个非常简单的树模型示例。我添加了一行

view.setSortingEnabled(true);

main.cpp中启用树视图排序。当我运行它时,我在标题中看到一个排序指示符。但是,无论我如何单击标题,项目都不会排序。有什么是我忽略的吗?

在视图中使用QSortFilterProxyModel
视图的sortingEnabled属性启用视图中的排序按钮。但是实际的排序需要在模型的sort()方法中实现。
这样使用QSortFilterProxyModel:

QSortFilterProxyModel* pProxyModel = new QSortFilterProxyModel(pView);
pProxyModel->setSourceModel(pModel);
pView->setModel(pMdl);
pView->setSortingEnabled(true);