pyqt5 QTreewidget 多选Ctrl
时间: 2024-11-03 13:21:57 浏览: 20
PyQt5中的QTreeWidget是一个用于显示树形数据结构的控件,它可以支持多选功能。当启用多选模式时(通常通过`setSelectionMode(QAbstractItemView.ExtendedSelection)`设置),用户可以按住Ctrl键同时点击节点来选择多个项,而不是像单击那样只能选择一个。
以下是创建一个支持多选Ctrl的简单示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeView, QVBoxLayout, QStandardItemModel
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
# 创建模型
model = QStandardItemModel()
model.setHorizontalHeaderLabels(["Name"])
# 设置树视图并设置多选模式
tree_view = QTreeView()
tree_view.setModel(model)
tree_view.setSelectionMode(QTreeView.ExtendedSelection)
# 设置窗口布局
layout = QVBoxLayout()
layout.addWidget(tree_view)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
if __name__ == "__main__":
app = QApplication([])
main_window = MainWindow()
main_window.show()
app.exec_()
```
在这个例子中,当你按下Ctrl键并点击树视图中的项目时,会添加到已选择的项目列表中。你可以遍历`tree_view.selectedIndexes()`来获取所选项目的索引。
阅读全文