Dans mon application qt j'ai cet objet, rempli avant de mon contenu de QTreeWidget:problème avec QVariant/QTreeWidgetItem/iterator sur qt4.4.3
QList<QTreeWidgetItem*> items;
Je remplir le QList de cette façon:
QVariant qv; // I need this for "attaching" to the item my linuxPackage object
qv.setValue(linuxPackage);
packRow->setData(1, Qt::UserRole,qv); // packRow is my own object inherited from QTreeWidgetItem, I "put" the QVariant into it
items.append(packRow); // then I put my item into the QList
à la fin du travail, mon QList a près de 1000 articles.
J'ai besoin de itérer sur eux et pour chaque élément que je besoin pour obtenir les données « linuxPackage » par ce (testé et fonctionnel) ainsi:
Pkg linuxPackage = this->data(1,Qt::UserRole).value<Pkg>(); // Pkg is my own class for the linuxPackage object
Alors, j'ai essayé d'extraire des données nécessaires de cette manière:
QList<QTreeWidgetItem*>::iterator iter;
for (iter = items.begin(); iter != items.end(); ++iter){
Pkg pack = iter->data(1,Qt::UserRole).value<Pkg>();
}
Mais rien ne fonctionne, je n'arrive même pas à compiler le programme. Aidez-moi! : D