QTableView + QSqlTableModel - как читать идентификатор выбранной строки
115
16
Я использую QTableView с QSqlTableModel. На мой взгляд, я не показываю столбец, содержащий идентификатор записи. Как я могу получить идентификатор выбранной строки, если она не отображается в каком-либо столбце?
Спасибо за помощь:)
спросил(а)
2021-01-19T17:32:22+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Решение
106
Также вы можете получить идентификатор непосредственно из QSqlQueryModel, но я не уверен, что он более удобен, чем предложенный soulSurfer.
Используя QModelIndex
для нужной строки:
QSqlQueryModel *model = tableView->model();
QSqlRecord record= model->record(desiredIndex->row());
QSqlField field = record.field(id_column_index);
int id = field.value().toInt();
ответил(а)
2021-01-19T17:32:22+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
97
Хммм... один способ - получить идентификатор от модели и скрыть его в представлении с помощью
void QTableView::setColumnHidden (int column, bool hide)
тогда вы в основном получите его, но спрячьте его, и отсюда вы можете легко получить его с помощью модели, используя индекс, испущенный из
void QAbstractItemView::activated ( const QModelIndex & index )
Сигнал.
ответил(а)
2021-01-19T17:32:22+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Ваш ответ