2011-03-21 7 views

답변

11

QVariant는 내부에 무엇이 들어 있는지 알 필요가없는 값에 대한 참조를 저장하는 데 사용됩니다. 알 수없는 유형에 대한 참조로 "모든 것"을 받아 들일 수있는 API를 만드는 방법입니다. IE는 long을 받아들이는 API 대신 int를, 또 하나는 float을, 또 하나는 문자열을 받아 들일 필요없이 QVariant를 대신 받아들이는 단일 API를 가질 수 있습니다.

그런 다음 QSettings와 같이 특정 유형이 필요한 더 복잡한 함수 내에서 Variant에서 필요한 항목을 추출한 다음 다시 가져올 수 있습니다.

5

QVariant는 변수의 컨테이너입니다. 다른 유형의 변수를 저장할 수 있습니다. 비슷한 점에서 void *. 그러나 그것은 당신에게 저장된 유형에 대한 정보를 제공합니다.

예를 들어 함수에서 다른 유형의 값을 반환하는 데 사용할 수 있습니다.

+0

사용 예제 : http://doc.qt.nokia.com/stable/qsettings.html#setValue –

+0

흥미로운 값에 대한 무효 * 컨테이너와 같은 것이라고 말할 수 있습니다. 추가 기능을 제공합니다. (예를 들어, 객체의 유형을 요청할 수 있으며 원하는 유형 (예 : QString) 인 경우 QVariant에 포함 된 값을 변환 할 수 있습니다. 다시 당신을위한 QString). – michaelmoo

관련 문제