Qt / C ++: Получение данных в определенной ячейке в QTableView

Я пытаюсь получить текст в определенной ячейке в QTableView . Например:

QString codestring = "*" + ui->tblInventory->indexAt(QPoint(0,2)).data().toString() + "*";

Это должно получить текст в ячейке в столбце 0 строки 2 в моем QTableView . Проблема в том, что он делает не это! Независимо от аргументов, которые я передаю в QPoint () в indexAt () , я получаю текст в ячейке 0,0. Понятия не имею, почему это ... помощь? Спасибо!

[редактировать]
Я тоже пробовал это:

QString codestring = "*" + ui->tblInventory->model()->data(ui->tblInventory->indexAt(QPoint(0,2))).toString() + "*";

[Изменить 2] Пытаясь выяснить, что происходит, я ввел эту строку кода:

qDebug()<< ui->tblInventory->indexAt(QPoint(2,2)).row() << " and " <<  ui->tblInventory->indexAt(QPoint(2,2)).column();

Он должен получить QModelIndex в ячейке 2,2 и вывести его строку и столбец, которые, конечно же, должны быть 2 и 2. Однако я получаю 0 и 0! Так что, похоже, это может быть проблема с QTableView :: indexAt () , будь то мое использование или какая-то ошибка. Может ли кто-нибудь пролить свет?

16
задан rc0r 4 April 2016 в 20:07
поделиться