Sto cercando di ottenere il testo in una determinata cella in un QTableView
. Per esempio:Qt/C++: acquisizione dei dati in una determinata cella in una QTableView
QString codestring = "*" + ui->tblInventory->indexAt(QPoint(0,2)).data().toString() + "*";
Questo dovrebbe ottenere il testo alla cella nella colonna 0 riga 2 nella mia QTableView
. Il problema è che non è quello che sta facendo !. Indipendentemente dagli argomenti che passo nel QPoint()
nel indexAt()
, ottengo il testo nella cella 0,0. Non ho idea del perché questo sia ... un aiuto? Grazie!
[modifica]
Inoltre ho provato questo:
QString codestring = "*" + ui->tblInventory->model()->data(ui->tblInventory->indexAt(QPoint(0,2))).toString() + "*";
[Edit 2] Cercando di scoprire cosa sta succedendo, ho messo in questa riga di codice:
qDebug()<< ui->tblInventory->indexAt(QPoint(2,2)).row() << " and " << ui->tblInventory->indexAt(QPoint(2,2)).column();
Dovrebbe ottenere il QModelIndex
nella cella 2,2 e mostrare la sua riga e la sua colonna, che ovviamente dovrebbe essere 2 e 2. Tuttavia, ottengo 0 e 0! Quindi sembra che questo potrebbe essere un problema con QTableView::indexAt()
, che sia il mio utilizzo o una specie di bug. Qualcuno può far luce?
controllare la mia risposta. – SIFE
indexAt (QPoint (0,2) restituire QModelIndex di una cella nella posizione del widget X = 0 Y = 2, non riga/colonna 0,2 –