Получить содержимое определенного столбца из QTableView - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу получить содержимое определенного столбца из qTableView, который содержит 2 столбца; проблема в том, что я не могу найти способ получить к нему доступ; я также пытался написать следующий код (вдохновленный другим вопросом), но это не решает проблему:

for(int i = 0; i < ui->table->model->rowCount(); i++) {
       QAbstractItemModel index = ui->table->model()->data(ui->table->model()->index(0,i));
       qDebug() << index;
}

Что я делаю не так?

1 Ответ

0 голосов
/ 15 ноября 2018

Возвращаемое значение QAbstractItemModel::data() имеет тип QVariant.

Данные в возвращенном QVariant зависят от role (второй параметр data() по умолчанию Qt::DisplayRole), то есть в данном случае QString (согласно Qt::ItemDataRole).

Кроме того, использование QAbstractItemModel::index() выглядит неправильно:Первый параметр - индекс строки, второй параметр - индекс столбца.

В целом, я рекомендую следующее исправление (без проверки):

for (int i = 0; i < ui->table->model->rowCount(); ++i) {
  QString value = ui->table->model()->data(ui->table->model()->index(i, 0));
  qDebug() << value;
}

для доступа к данным 1 st столбец или

for (int i = 0; i < ui->table->model->rowCount(); ++i) {
  QString value = ui->table->model()->data(ui->table->model()->index(i, 1));
  qDebug() << value;
}

для доступа к данным столбца 2 и .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...