pyqt5 QTreeView多选
时间: 2024-11-29 21:39:13 浏览: 7
PyQt5下拉式复选框QComboCheckBox的实例
5星 · 资源好评率100%
PyQt5中的QTreeView是一个用于显示树形数据结构的控件,它允许用户通过拖拽鼠标来实现多选功能。要启用多选模式,你需要设置`setSelectionMode()`方法。以下是基本步骤:
1. 创建QTreeView实例并添加到窗口布局中:
```python
tree_view = QTreeView()
your_layout.addWidget(tree_view)
```
2. 设置默认的选择模式为多选(例如,按住Ctrl键选择多行,按住Shift键可以选择连续的行):
```python
tree_view.setSelectionMode(QAbstractItemView.ExtendedSelection) # 或者 MultiSelection, SingleSelection 根据需求
```
3. 如果你想提供自定义的行为,比如使用鼠标点击一次选择一行,可以监听`mousePressEvent`事件,并手动切换选择模式:
```python
def on_click(event):
if event.button() == Qt.LeftButton and not tree_view.selectedIndexes():
tree_view.setSelectionMode(QAbstractItemView.SingleSelection)
else:
tree_view.setSelectionMode(QAbstractItemView.ExtendedSelection)
tree_view.mousePressEvent = on_click
```
4. 使用`selectRow()`或`selectItems()`方法来选择特定的行或节点。
阅读全文