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

7
我正在使用带有QSqlTableModel的QTableView。在我的视图中,我不显示包含记录ID的列。如果未在任何列中显示选定行的ID,如何获取其ID?
感谢您的帮助 :)
2个回答

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();

5

嗯...一种方法是从模型中获取ID并在视图中隐藏它,使用以下代码:

void QTableView::setColumnHidden (int column, bool hide)

如果您已经获取了它,但想要隐藏它,那么您可以通过使用从模型发出的索引直接轻松获取它。

void QAbstractItemView::activated ( const QModelIndex & index )

信号。

这个答案是标准且易于使用的,我不知道为什么它没有被接受为答案! - Alireza Savand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接