Reputation: 3441
What is a QVariant
and when should it be used?
Upvotes: 17
Views: 9427
Reputation: 2528
QVariant is a container of variables. It can store variables of different types. Similar in some way to void*. But it provides You information about the stored type.
It can be used for example to return different types of values from a function.
Upvotes: 7
Reputation: 22262
QVariant is used to store references to values where you don't necessarily know what is inside. It's a way to create APIs that can accept "anything" as a reference to an unknown type. IE, instead of having to have an API that accepts a long, and another for an int, and another for a float, and another for a string you can have a single API that accepts a QVariant instead.
Then inside a more complex function where you need a certain type (like in QSettings) you can extract just what you need from the Variant after getting it back.
Upvotes: 16