pyqt5中QTableview绑定了QStandardItemModel,如何快速获取选中行的item文本包括隐藏列的tiem文本,具体效率高的实现代码
时间: 2023-05-26 07:05:38 浏览: 95
QT-树的实现-利用了QStandardItemModel-简单的Demo
可以使用QItemSelectionModel来获取选中的行和列,再从QStandardItemModel中获取对应的item,包括隐藏列的item。
以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QItemSelectionModel
app = QApplication([])
# 创建QStandardItemModel并添加数据
model = QStandardItemModel()
model.setColumnCount(3)
for i in range(5):
row = []
for j in range(3):
item = QStandardItem(f"item {i},{j}")
row.append(item)
model.appendRow(row)
# 创建QTableView并绑定QStandardItemModel
view = QTableView()
view.setModel(model)
# 获取选中的行和列
selections = view.selectionModel().selectedIndexes()
# 遍历选中的行和列,获取对应的item
for selection in selections:
row = selection.row()
col = selection.column()
item = model.item(row, col)
if item:
text = item.text()
print(text)
```
这个示例代码可以获取所有选中的item文本,包括隐藏列的item文本。如果只需要特定列的item文本,可以加入一个过滤条件。
阅读全文