python QlistView多选
时间: 2024-10-26 13:17:27 浏览: 7
在Python的QListView控件中,如果想要实现多选功能,你需要使用`QtWidgets`库中的`QAbstractItemView`和关联的模型如`QStandardItemModel`或`QListWidget`。首先,确保已经导入了需要的模块:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QListView, QListWidgetItem
from PyQt5.QtCore import Qt
```
接下来,你可以创建一个QListView实例,并设置它的选择模式为`Qt::MultiSelection`,表示支持多选:
```python
view = QListView()
view.setSelectionMode(Qt.MultiSelection)
```
然后,你需要将数据添加到模型中,通常是通过`QListWidget`或自定义的`QStandardItemModel`:
```python
model = QListWidget() # 或者 QStandardItemModel()
items = ['Item 1', 'Item 2', 'Item 3']
for item in items:
list_item = QListWidgetItem(item)
model.addItem(list_item)
view.setModel(model)
```
用户可以通过点击列表视图来选择项目,当选中状态改变时,可以监听`selectionChanged`信号来获取当前的选择:
```python
view.selectionModel().selectionChanged.connect(lambda: print("Selected items:", view.selectedIndexes()))
```
这样,用户就可以在QListView中进行多选操作了。
阅读全文