从QTableView中提取数据

时间:2011-11-30 15:05:58

标签: c++ qt

我的QTableView实例仅限于单行选择。我不想关心用户按下的单元格,但它应该始终在(selectedRow,0)中提取数据。

到目前为止,我正在做以下事情:

QModelIndexList indices = _ui->_tbl->selectionModel()->selection().indexes();
QModelIndex id = indices.at(0).sibling(indices.at(0).row(),0);

有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

正如Qt doc中关于currentIndex

所述
  

除非当前选择模式为NoSelection,否则该项目也是   选择

所以你可以更快地做到:

QModelIndex index = _ui->_tbl->currentIndex() ;
QModelIndex id = index.sibling(index.row(),0) ;

答案 1 :(得分:1)

使用QItemSelectionModel::selectedRows执行一步。它为您提供特定列的索引(默认情况下为o)。因此:

QModelIndex index = _ui->_tbl->selectionModel()->selectedRows(0).at(0);