我已经创建了一个 QTable 视图并将其连接到一个 QSqlTableModel 并且我正在显示从数据库检索的结果查询。在 QTable 视图中我启用了 sortEnabled 选项。所有预期的结果都在打印,但是如果我单击排序指示器,表中的整个数据都会被清空。任何人都可以建议我如何克服这个问题
这是结果表的快照。
这是按下排序指示器后结果表的快照。
任何人都可以建议我如何克服这个问题
要弄清楚为什么 QTableView 的 setSortingEnabled 方法不起作用,原来 QAbstractItemModel 中的 sort 方法没有实现。所以你必须自己实现它。
一种解决方案是创建一个 QAbstract 视图。下面是一个代码片段。
我不确定这是否是实现排序方法的最佳方式,但我找不到其他任何东西,这似乎对我有用。