2012-12-26 3 views
0

J'ai une QVariantList. Comment puis-je le vider.Vider une QVariantList?

J'ai essayé

myList.clear() 

et

myList.empty(); 

Mais pas de chance. Des idées?

+0

Pouvez-vous décrire ce que vous entendez par "pas de chance"? Qu'a-t-il fait? –

+0

Il n'a pas supprimé. Lorsque j'ai ajouté essayé d'ajouter plus de données, les données d'origine était là. – panthro

+0

Pouvez-vous fournir un échantillon de code minimal qui montre le problème? Jusqu'à présent, je n'ai jamais eu de problèmes en utilisant 'clear()'. –

Répondre

3

Un QVariantList est juste un QList<QVariant>. Alors jetez un oeil à la QListdocumentation:

  • QList::clear(): Supprime tous les éléments de la liste.
  • QList::empty(): Cette fonction est fournie pour la compatibilité STL. C'est équivalent à isEmpty() et renvoie true si la liste est vide.

Ceci indique clairement pourquoi myList.empty(); ne fonctionne pas. Cependant, myList.clear() devrait fonctionner, donc probablement vous avez une erreur ailleurs dans votre code.

Juste vérifier, ajouter quelque chose comme qDebug() << list.length(); après la ligne list.clear();:

QVariantList list; 
list << 42; 
qDebug() << list.length(); 
list.clear(); 
qDebug() << list.length(); 

donne:

1 
0 
+0

Merci, une erreur ailleurs dans mon code. – panthro