我有一个 QTableView
,我需要从所选行的第一个单元格中获取值(字符串),但只有当确切地选择了一行时才需要这个值。
我认为 - 我需要获取所选行的索引,然后获取该行上第一个单元格的值,但我找不到如何做到这一点。
我有一个 QTableView
,我需要从所选行的第一个单元格中获取值(字符串),但只有当确切地选择了一行时才需要这个值。
我认为 - 我需要获取所选行的索引,然后获取该行上第一个单元格的值,但我找不到如何做到这一点。
myTableView->selectionModel()->currentIndex().row()
这将给出当前选定行的索引。从那里,您应该有足够的信息在模型中查找行/列对。
另外,QItemSelectionModel::selectedRows()
将告诉您有多少行被选中。
Python代码将如下所示:
self.tableView.clicked.connect(self.on_Click)
当用户点击表格单元格时,将调用on_Click()方法。 def on_Click(self):
# #selected cell value.
index=(self.tableView.selectionModel().currentIndex())
# print(index)
value=index.sibling(index.row(),index.column()).data()
print(value)
解释。
"value" 包含所选单元格的单元格值。
index.row() # gives current selected row.
index.column() # gives current selected column.
index.sibling(index.row(),index.column()).data() # will return cell data
index.siblingAtColumn(5).data()
因为我之前尝试了这种方式
index.sibling(index.row(),index.column()).data()
但是将列设置为5并没有成功。
index.sibling(index.row(),index.column(5)).data()
所以我最终使用了前者,可以在相同的索引行但是选择了第五列来获取值。 - Mike R
QModelIndex index=myTableView->selectionModel()->currentIndex();
以获取索引,然后QVariant value=index.sibling(index.row(),index.column()).data();
将获取所点击单元格的值。 - JBES