如何排序 查看项目

How to sort View items

setSortingEnabled() 设置为 True 可以单击列 header 名称对视图的项目进行排序:

tableView=QTableView()
tableView.setSortingEnabled(True) 

但即使设置了属性,视图也会显示未排序的项目。 为了对项目进行排序,必须单击 header。 问题:如何让视图继续并在单击 header 之前对其项目进行排序。 所以视图从一开始就直接排序。

您可以使用QHeaderView.setSortIndicator(logicalIndex, order)

对于您的示例,这意味着调用 tableView.horizontalHeader().setSortIndicator(0, Qt.AscendingOrder) 以升序对第一列进行排序。

请注意,您传入的 logicalIndex 如果列已重新排序,它可能与 visualIndex 不对应。 QHeaderView 提供了在您需要时在两者之间进行转换的方法(但我认为您不太可能需要它)。

要在不点击 header 的情况下对 QTableView() 进行排序(假设已设置 tableView.setSortingEnabled(True)),请使用:

tableView.sortByColumn(0, Qt.AscendingOrder)