如何排序 查看项目
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)
将 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)