我将 QTableView 与 QSqlTableModel 一起使用。在我看来,我不显示包含记录 ID 的列。如果所选行未显示在任何列中,我如何获取该行的 ID?
感谢帮助 :)
我将 QTableView 与 QSqlTableModel 一起使用。在我看来,我不显示包含记录 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 )
信号。