2011-03-21 13 views

Respuesta

11

QVariant se utiliza para almacenar referencias a valores en los que no necesariamente se conoce lo que está dentro. Es una forma de crear API que puede aceptar "cualquier cosa" como referencia a un tipo desconocido. IE, en lugar de tener que tener una API que acepte un largo, y otro para un int, y otro para un float, y otro para un string, puede tener un solo API que acepte un QVariant.

Luego, dentro de una función más compleja donde necesita un tipo determinado (como en QSettings) puede extraer justo lo que necesita de la Variante después de recuperarla.

5

QVariant es un contenedor de variables. Puede almacenar variables de diferentes tipos. Similar de alguna manera a vacío *. Pero le proporciona información sobre el tipo almacenado.

Se puede utilizar, por ejemplo, para devolver diferentes tipos de valores de una función.

+0

Como ejemplo de uso: http://doc.qt.nokia.com/stable/qsettings.html#setValue –

+0

Diría que es como un contenedor para un vacío * a un valor que le interese. Proporciona alguna funcionalidad adicional que le ayuda a convertir el elemento contenido en su tipo original (por ejemplo, puede solicitar el Tipo del objeto y, si es el tipo que desea (por ejemplo, QString), puede hacer que QVariant convierta su valor contenido volver a un QString para ti). – michaelmoo

Cuestiones relacionadas