我试图在QTableView
的某个单元格中获取文本。例如:Qt/C++:在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();
它应该得到在单元格2,2的QModelIndex
并输出其行和列,当然应该是2和2.但是,我得到0和0!所以看起来这可能是QTableView::indexAt()
的一个问题,无论是我的使用还是某种错误。任何人都可以点亮一下吗?
检查我的答案。 – SIFE 2012-02-19 23:41:52
indexAt(QPoint(0,2)将返回位于窗口小部件位置X = 0处的单元格的QModelIndex Y = 2,而不是Row/Col 0,2 – 2013-02-02 21:33:28