我想要获取一个 QTableView
中特定单元格的文本。例如:
QString codestring = "*" + ui->tblInventory->indexAt(QPoint(0,2)).data().toString() + "*";
我的QTableView
中,这应该获取列0行2的单元格文本。问题是,它并没有做到!无论我在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();
它应该获取单元格2,2处的QModelIndex
并输出其行和列,当然应该是2和2。然而,我得到的是0和0!看起来这可能是QTableView::indexAt()
的问题,无论是我的使用还是某种错误。有人能给予一些启示吗?