在使用QTreeWidget时,可以通过设置QTreeWidget的sortColumn和sortOrder来实现自动排序。
以下是一个简单的示例代码:
from PyQt5.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem
app = QApplication([])
tree = QTreeWidget()
tree.setColumnCount(3)
# 添加数据
item1 = QTreeWidgetItem(["Item1", "Value1", "Value2"])
item2 = QTreeWidgetItem(["Item2", "Value3", "Value4"])
item3 = QTreeWidgetItem(["Item3", "Value5", "Value6"])
tree.addTopLevelItem(item1)
tree.addTopLevelItem(item2)
tree.addTopLevelItem(item3)
# 设置排序列和排序方式
tree.sortColumn = 1
tree.sortOrder = Qt.AscendingOrder
tree.show()
app.exec_()
在上面的示例代码中,我们创建了一个QTreeWidget,并设置了3列。然后,我们添加了3个QTreeWidgetItem,并将它们添加到QTreeWidget中。最后,我们设置了排序列和排序方式,并显示了QTreeWidget。
在这个示例中,我们将排序列设置为第2列,并将排序方式设置为升序。这意味着,当我们添加QTreeWidgetItem时,它们将根据第2列的值进行排序。
需要注意的是,如果您想要根据其他列进行排序,只需更改sortColumn的值即可。如果您想要按降序排序,只需将sortOrder的值更改为Qt.DescendingOrder即可。
领取专属 10元无门槛券
手把手带您无忧上云