У меня есть QTableWidget, который отображает файлы.
То, что я хочу сделать, - это выбрать 1 или несколько строк из этой таблицы и передать содержимое первого столбца каждой строки в функцию, которая сможет манипулировать.
QModelIndexList indexList = ui->filesTable->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList) {
row = index.row();
qDebug() << row;
}
У меня есть этот код, но он передает индексы, и мне нужно содержимое первого столбца QTableWidget в строке или строках, которые я выбираю.
Спасибо за любую помощь заранее!
Чтобы получить содержимое ячейки, вам необходимо использовать метод QModelIndex::data
:
QModelIndexList indexList = ui->filesTable->selectionModel()->selectedIndexes( );
foreach (QModelIndex index, indexList)
{
qDebug() << index->data( Qt::DisplayRole );
}
Вы можете получить дополнительную информацию о выбранных ячейках, просто изменив роль. Пользовательские модели могут принимать пользовательские роли.