QListView : encapsulation/affichages
Bonjour,
J’ai créé un QlistView par le designer que j’appelle listView.
Apres avoir tapé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Test
{
QlistViewItem * item;
Test()
{
item = NULL;
}
edit:
~Test()
{
delete item;
}
};
void prgm::testouille()
{
Test test;
test.item = new QlistViewItem(listView, “a” , “b”);
// test.item->setOpen(true); //=> que dalle
// listView->insertItem(test.item); // => que dalle
} |
Le programme ne m'affiche rien dans la listView. Pire, il me refile une "fatal error" lorsque j'essai d'intégrer l'objet test dans un vector de la STL. (std::vector<Test> testVector;)
Je l’ai transformé en faisant :
Code:
1 2 3 4 5 6 7
| void prgm ::testouille()
{
QListViewItem * t ;
// QlistViewItem * t2; // => test pour essayer de remplacer t2 par Test
t = new QlistViewItem(listView, »a », « b »);
// t2 = t;
} |
Et là, impec… je ne comprends pas.
Bien sur, j’ai retrafiqué :
Code:
1 2 3 4 5 6 7
| void prgm ::testouille()
{
QlistViewItem * t ;
Test test ;
t = new QlistViewItem(listView, »a », « b »);
test.item = t;
} |
Mais là, il n’y a rien d’affiché dans ma listview, même en rajoutant setOpen, ou d’autres insertItem… ???
Dés que j'essai d'encapsuler un pointeur de QListViewItem, plus rien n'est affiché. Ca me fait penser... Faut-il hériter quelque chose? J'ai bien essayé avec QListView mais ça ne donne rien.
En même temps, je ne vois pas pourquoi j'aurais besoin d'hériter quoiqeu ce soit alors que je "manipule" seulement un pointeur (juste une affectation gauche, donc le droit ne devrait pas être modifié)...
J’aimerais comprendre :mrgreen:
ps: je tourtne sous l'édition non-commercial de QT version 3.2.1 ... sous windows