Я пытаюсь получить текст в определенной ячейке в 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()
, будь то мое использование или какая-то ошибка.Кто-нибудь может пролить свет?