2012-12-26 3 views
0

QVariantList가 있습니다. 어떻게 비울 수 있습니까?QVariantList를 비 웁니까?

나는

myList.clear() 

myList.empty(); 

하지만 행운을 시도했습니다. 어떤 아이디어?

+0

당신이 "행운"무슨 뜻인지 설명 할 수 있습니까? 그것은 무엇을 했는가? –

+0

그것은 그것을 삭제하지 않았다. 추가 할 때 더 많은 데이터를 추가하려고 시도했을 때 원본 데이터가있었습니다. – panthro

+0

문제를 보여주는 최소한의 코드 샘플을 제공 할 수 있습니까? 지금까지 'clear()'를 사용하여 문제가 발생하지 않았습니다. –

답변

3

QVariantList은 단지 QList<QVariant>입니다.

  • QList::clear() : 그래서 QListdocumentation를 보라 목록에서 항목을 모두 제거합니다.
  • QList::empty() :이 기능은 STL 호환성을 위해 제공됩니다. isEmpty()와 동등하고 목록이 비어 있으면 true를 반환합니다.

이렇게하면 myList.empty();이 작동하지 않는 이유가 분명해집니다. 그러나 myList.clear()이 작동해야하므로 코드의 다른 부분에 실수가있을 수 있습니다.

그냥 더블 확인하려면 list.clear(); 줄 끝에서 qDebug() << list.length(); 같은 것을 추가

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

이 제공 :

1 
0 
+0

감사합니다. 내 코드의 다른 곳에서 오류가 발생했습니다. – panthro

관련 문제