【发布时间】:2012-07-27 11:36:43
【问题描述】:
我有一个QTableView,我需要从所选行的第一个单元格中获取值(字符串)(可以选择行上的任何单元格)。但我需要这个值只有当恰好选择了一行。
我想 - 我需要获取所选行的索引,然后获取该行上第一个 сell 的值,但我找不到方法。
【问题讨论】:
标签: c++ qt qtableview
我有一个QTableView,我需要从所选行的第一个单元格中获取值(字符串)(可以选择行上的任何单元格)。但我需要这个值只有当恰好选择了一行。
我想 - 我需要获取所选行的索引,然后获取该行上第一个 сell 的值,但我找不到方法。
【问题讨论】:
标签: c++ qt qtableview
myTableView->selectionModel()->currentIndex().row()
将为您提供当前选定行的索引。从那里您应该有足够的信息来查找模型中的行/列对。
另外,QItemSelectionModel::selectedRows() 会告诉您选择了多少行。
【讨论】:
QModelIndex index=myTableView->selectionModel()->currentIndex(); 获取索引,然后QVariant value=index.sibling(index.row(),index.column()).data(); 将获取单击单元格的值。跨度>
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.sibling(index.row(),index.column()).data(),并将列设置为5,但它没有工作index.sibling(index.row(),index.column(5)).data()所以我最终使用了这个,它可以从同一个索引行中获取值但是选择的第 5 列。 index.siblingAtColumn(5).data()