Что такое QVariant и когда его следует использовать? - PullRequest
15 голосов
/ 22 марта 2011

Что такое QVariant и когда его следует использовать?

Ответы [ 2 ]

12 голосов
/ 22 марта 2011

QVariant используется для хранения ссылок на значения, где вы не обязательно знаете, что находится внутри. Это способ создания API, которые могут принимать «что угодно» как ссылку на неизвестный тип. IE, вместо того, чтобы иметь API, который принимает long, и другой для int, и другой для float, и другой для строки, вы можете иметь один API, который вместо этого принимает QVariant.

Затем внутри более сложной функции, где вам нужен определенный тип (как в QSettings), вы можете извлечь то, что вам нужно, из Варианта после получения его обратно.

6 голосов
/ 22 марта 2011

QVariant - это контейнер переменных.Он может хранить переменные разных типов.В некотором роде похоже на void *.Но он предоставляет вам информацию о сохраненном типе.

Может использоваться, например, для возврата значений различных типов из функции.

...