QTableView
私は
QTableView
の特定のセルでテキストを取得しようとしています。例:
Qt/C++:QTableViewの特定のセルでデータを取得する
QString codestring = "*" + ui->tblInventory->indexAt(QPoint(0,2)).data().toString() + "*";
これは、QTableView
の列0の行2にあるセルのテキストを取得するはずです。問題は、それがやっていることではないということです!私がindexAt()
のQPoint()
に渡す引数にかかわらず、私はセル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
indexAt(QPoint(0,2))は、ウィジェットの位置にあるセルのQModelIndexを返します。X = 0 Y = 2、Row/Colではなく0,2 –