pyqt5 setSelectionModel
时间: 2024-11-03 21:14:01 浏览: 7
在PyQt5的QTreeView或QTableView等组件中,`setSelectionModel()`方法是用来设置一个`QItemSelectionModel`对象,这个模型控制了可视化的表单中的哪些项是被选中的。`QItemSelectionModel`提供了对选区的高级操作,比如添加、移除、清空选区以及获取当前选中的项。
例如,当你想要在列表中进行多选,你可以这样做:
```python
# 创建QItemSelectionModel
selection_model = QItemSelectionModel()
# 创建一个QTreeView,并设置其选择模型
tree_view = QTreeView()
tree_view.setSelectionModel(selection_model)
# 当用户点击某个行时,我们可以选择对应的项
def selection_changed():
selected_items = selection_model.selectedIndexes()
for index in selected_items:
item = tree_view.model().itemFromIndex(index)
print(f"Selected item: {item.text()}")
tree_view.selectionModel().currentChanged.connect(selection_changed)
# 用户可以选择一行或多行
selection_model.selectRange(QModelIndex(), QModelIndex()) # 全选
selection_model.select([index], QItemSelectionModel.ClearAndSelect) # 单选或复选
```
阅读全文