Для получения значения полей выделенной строки QTableView можно использовать несколько вариантов.
QVariant QSqlQueryModel::data(const QModelIndex &item, int role = Qt::DisplayRole) const
Пример. Точно известно, какой индекс колонки элемента (например, 0), значение которого вы желаете получить. Тогда получим его значение в выделенной строке представления tableView:
[pastacode lang=»cpp» manual=»model-%3Edata(model-%3Eindex(ui-%3EtableView-%3EcurrentIndex().row()%2C%200)).toString()%3B» message=»» highlight=»» provider=»manual»/]
QSqlRecord QSqlQueryModel::record(int row) const
Или можно обратиться к самой записи модели и узнать значение элемента по его имени:
[pastacode lang=»cpp» manual=»model-%3Erecord(ui-%3Etable-%3EcurrentIndex().row()).value(%22id%22).toString()%3B» message=»» highlight=»» provider=»manual»/]
В другом сообщении (Значения ячеек выделенных строк QTableView) я показала, как получить значения, если выделенных строк несколько. А здесь: Отображение данных выборки в виджете QTableView — как вывести данные из базы в таблицу на форме.
Получить значения полей выделенной строки QTableView: 1 комментарий