QSortFilterProxyModel可以实现自定义排序,当数据量较大、排序逻辑比较复杂的情况下采用该排序加载可能较为缓慢。
改进措施:自定义排序
QTreeViewBase.cpp实现
setSortingEnabled(false);//禁用自带排序
header()->setSortIndicatorShown(true);
header()->setSectionsClickable(true);
这一步防止如果设置自带排序会出现,刷新排序时,系统会对当前页数据进行自带排序,原因如下:
如果setSortingEnabled(true)会对原始数据进行排序
外部调用:
connect(m_pTable->header(), SIGNAL(sortIndicatorChanged(int, Qt::SortOrder)), this, SLOT(onSort(int, Qt::SortOrder)));
此情况针对于自己维护数据情况,可以实现自定义的数据排序