QTableView的自定义排序方法?

Posted

技术标签:

【中文标题】QTableView的自定义排序方法?【英文标题】:Custom sorting method of QTableView? 【发布时间】:2012-03-23 12:23:02 【问题描述】:

如何为 QTableView 或模型设置自定义排序方法? (我应该重新实现哪个函数)

默认排序算法是针对字符串的,我想要一些特定列的数字排序方法。

谢谢。

【问题讨论】:

【参考方案1】:

您应该使用QSortFilterProxyModel。您应该重新实现 lessThan 方法。然后您必须为您的代理模型设置 sourceModel,并将您的代理模型设置为您的视图的模型

class MyProxyModel: public QSortFilterProxyModel

protected:
     bool   lessThan ( const QModelIndex & left, const QModelIndex & right ) const
     
         // your sorting rules
     
;

// ... somewhere where your view is accessible
MyProxyModel * m = new MyProxyModel();
m->setSourceModel(yourModel);
yourView->setModel(m);

【讨论】:

适用于QTableWidget吗?

以上是关于QTableView的自定义排序方法?的主要内容,如果未能解决你的问题,请参考以下文章

优先队列的自定义排序方法

为自定义模型使用 QTableWidget 的排序功能

Spring Boot,MongoDB,Pageable,按对象中的自定义方法排序

pyspark 数据框中的自定义排序

Android:SQLite 中的自定义排序规则

关于Lucene的自定义Sort排序