pyqt5 QlistView获取选中条目
时间: 2024-12-15 22:29:15 浏览: 75
在PyQt5中,QListView是一个用于显示列表数据的控件。要获取QListView中的选中条目,你可以通过监听`currentRowChanged`信号并处理它来实现。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QListView, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.listView = QListView()
self.listView.setSelectionMode(QListView.SingleSelection)
self.listView.currentRowChanged.connect(self.on_current_row_changed)
# 添加一些测试数据
data = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"]
model = QStringListModel(data)
self.listView.setModel(model)
layout = QVBoxLayout()
layout.addWidget(self.listView)
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
def on_current_row_changed(self, current_row, previous_row):
if current_row != -1: # 如果有选择,则表示当前行不是初始状态
selected_item = self.listView.model().data(current_row) # 获取选中的项目
print(f"当前选中的项: {selected_item}")
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这个例子中,每当QListView的当前行发生变化时,`on_current_row_changed`方法会被调用,并打印出所选项目的文本。
阅读全文
相关推荐












