J'essaye d'obtenir le texte à une certaine cellule dans un QTableView
. Par exemple:Qt/C++: obtention des données à une certaine cellule dans un QTableView
QString codestring = "*" + ui->tblInventory->indexAt(QPoint(0,2)).data().toString() + "*";
Cela devrait obtenir le texte à la cellule dans la colonne 0 ligne 2 dans mon QTableView
. Le problème est, ce n'est pas ce qu'il fait! Indépendamment des arguments que je passe dans le QPoint()
dans le indexAt()
, je reçois le texte à la cellule 0,0. Je ne sais pas pourquoi c'est ... de l'aide? Merci!
[modifier]
J'ai aussi essayé ceci:
QString codestring = "*" + ui->tblInventory->model()->data(ui->tblInventory->indexAt(QPoint(0,2))).toString() + "*";
[Edit 2] Essayer de savoir ce qui se passe, je l'ai mis dans cette ligne de code:
qDebug()<< ui->tblInventory->indexAt(QPoint(2,2)).row() << " and " << ui->tblInventory->indexAt(QPoint(2,2)).column();
Il devrait obtenir le QModelIndex
à la cellule 2,2 et sortir sa ligne et sa colonne, ce qui bien sûr devrait être 2 et 2. Cependant, je reçois 0 et 0! Donc, il semble que cela pourrait être un problème avec QTableView::indexAt()
, que ce soit mon utilisation ou une sorte de bug. Quelqu'un peut-il nous éclairer?
vérifier ma réponse. – SIFE
indexAt (QPoint (0,2) retournera QModelIndex d'une cellule à la position du widget X = 0 Y = 2, pas Row/Col 0,2 –