QTableView + QSqlTableModel - 如何读取所选行的id

时间:2011-04-23 22:22:38

标签: qt qt4 qtableview qtsql

我正在使用QTableView和QSqlTableModel。在我看来,我不显示包含记录ID的列。如果未在任何列中显示所选行的ID,我该如何获取它?

感谢您的帮助:)

2 个答案:

答案 0 :(得分:6)

你也可以直接从QSqlQueryModel中检索id,但我不确定它是否比soulSurfer提出的更方便。

QModelIndex用于所需的行:

QSqlQueryModel *model = tableView->model();
QSqlRecord record= model->record(desiredIndex->row());
QSqlField field = record.field(id_column_index);
int id = field.value().toInt();

答案 1 :(得分:5)

嗯...一种方法是从模型中获取ID并使用

将其隐藏在视图中
void QTableView::setColumnHidden (int column, bool hide)

然后你基本上得到它,但隐藏它,从这里,你可以通过使用从

发出的索引直接从模型中轻松获得它
void QAbstractItemView::activated ( const QModelIndex & index )

信号。

相关问题