我正在使用带有QSqlTableModel的QTableView。在我的视图中,我不显示包含记录ID的列。如果未在任何列中显示选定行的ID,如何获取其ID?
感谢您的帮助 :)
感谢您的帮助 :)
同时,您可以直接从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();
嗯...一种方法是从模型中获取ID并在视图中隐藏它,使用以下代码:
void QTableView::setColumnHidden (int column, bool hide)
如果您已经获取了它,但想要隐藏它,那么您可以通过使用从模型发出的索引直接轻松获取它。
void QAbstractItemView::activated ( const QModelIndex & index )