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)));
此情況針對於自己維護數據情況,可以實現自定義的數據排序