bonjour
j'ai essaye de créer en vain un vector de *QStandardItem , doit-je faire un héritage sur cette class pour qu'il soit connue de template......???
bonjour
j'ai essaye de créer en vain un vector de *QStandardItem , doit-je faire un héritage sur cette class pour qu'il soit connue de template......???
Bonsoir,
L'étoile se trouve normalement après le type pour représenter un pointeur:
std::vector<QStandardItem*>
vraiment .....
voila ce qui arrive quand on prend pas de pause
merci jo_link_noir
par contre j'ai une assez curieuse erreur, le compilateur refuse de créer des iterator QStandardItem*, j'ai essaye plein de combinaison (avec l'etoile , sans l’étoile.....) sans résultat
vraiment bizarre
Code : Sélectionner tout - Visualiser dans une fenêtre à part __gnu_cxx::__normal_iterator<QStandardItem**, std::vector<QStandardItem*>>
bon, je peut m'en passe, avec les vector je passe généralement par les crochets , mais vue que j'aime pas passe a cote d'un truc que je comprend pas..........
Sans l'erreur complète et la ligne de code fautif, c'est un peu compliquer de deviner...![]()
std::vector<QStandardItem*>::iterator
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
voila un exemple complet
pour it.text();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 std::vector<QStandardItem*> vector_cadres; QStandardItem *item ; item = new QStandardItem(); QString txt = "111111"; item->setText(txt); vector_cadres.push_back(item); std::vector<QStandardItem*>::iterator it; for(it = vector_cadres.begin(); it != vector_cadres.end(); it++){ std::cout<<vector_cadres[0]->text().toStdString()<<std::endl; it.text();// pas bon it->text();//pas bon }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 83: erreur : 'std::vector<QStandardItem*>::iterator' has no member named 'text' it.text(); ^
pour it->text();
en débogage avec it.text(); et it->text(); en commentaire ça donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 82: erreur : request for member 'text' in '* it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-><QStandardItem**, std::vector<QStandardItem*> >()', which is of pointer type 'QStandardItem*' (maybe you meant to use '->' ?) it->text(); ^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 nom: it valeur: <inaccessible> type:__gnu_cxx::__normal_iterator<QStandardItem**, std::vector<QStandardItem*>>
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part std::vector<QStandardItem*>::iterator it;
- it est ton iterator
- *it l'élément de type QStandardItem*
Pour utiliser une méthode de QStandardItem donc, il te faut faire :
À noter que la classe QStandardItem possède le constructeur QStandardItem::QStandardItem(const QString & text).
Code : Sélectionner tout - Visualiser dans une fenêtre à part (*it)->methode(...);
bravo c'etais bien ça , merci Winjerome![]()
Partager