如何实现QTableView的自定义排序?

时间:2015-12-10 07:46:40

标签: qt sorting qtableview

我有一个表(QStandardItemModel)如下

sorted by group
Group | Property 1 | Property 2
A       5            9
A       5            1
A       4            6
B       7            1
B       2            7
B       7            2

我通常按列Group排序。例如,如果我按照GUI中的属性2排序(通过QTableView),所有行都会混淆,如下所示:

sorted by Property 2, but not the way I want it
Group | Property 1 | Property 2
A       5            1
B       7            1
B       7            2
A       4            6
B       2            7
A       5            9

我希望表格按每组的第一行排序,而组内的顺序应相同,即

sorted by Property 2
Group | Property 1 | Property 2
B       7            1
B       2            7
B       7            2
A       5            9
A       5            1
A       4            6

我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用QAbstractProxyModel并重新实施QAbstractProxyModel::mapFromSourceQAbstractProxyModel::mapToSource方法。