QVariantLa classe QVariant agit comme une union des types de données les plus courants de Qt. Plus d'informations... #include <QVariant> HéritageHérité par QDBusVariant. Description détailléeLa classe QVariant agit comme une union des types de données les plus courants Qt. Comme le C++ interdit d'utiliser des unions avec des types n'ayant pas de constructeurs ou destructeurs par défaut, les classes les plus intéressantes de Qt ne peuvent pas être utilisées dans les unions. Sans la classe QVariant, cela aurait été un problème pour QObject::property(), pour le travail avec les bases de données, etc. Un objet QVariant contient une valeur unique d'un seul type type() à la fois (quelques types sont multivaleurs, par exemple une liste de chaînes de caractères). Vous pouvez trouver le type T que contient le QVariant, puis le convertir en un autre type avec la fonction convert(), récupérer sa valeur grâce aux fonctions toT() (par exemple, toSize()) et vérifier si le type peut être converti en un type particulier en utilisant la fonction canConvert(). Les méthodes toT() (par exemple, toInt(), toString()) sont const. Si vous voulez récupérer le type stocké, les fonctions retournent une copie de celui-ci. Si vous demandez un type pouvant être généré à partir du type stocké, toT() copie, convertit et laisse l'objet inchangé. Si vous demandez un type ne pouvant pas être généré à partir de celui stocké, le résultat dépendra du type ; voir la documentation pour plus de détails. Voici quelques exemples de code pour présenter l'utilisation de QVariant : QDataStream out(...); QVariant v(123); // v contient un int int x = v.toInt(); // x = 123 out << v; // Écrit un indicateur de type et un int dans out v = QVariant("hello"); // v contient un QByteArray v = QVariant(tr("hello")); // v contient une QString int y = v.toInt(); // y = 0 car v ne peut être converti en int QString s = v.toString(); // s = tr("hello") (voir QObject::tr()) out << v; // Écrit un indicateur de type et une QString dans out ... QDataStream in(...); // (ouvre le flux précédent) in >> v; // Lit un QVariant int int z = v.toInt(); // z = 123 qDebug("Type is %s", // Affiche "Type is int" v.typeName()); v = v.toInt() + 100; // v contient la valeur 223 v = QVariant(QStringList()); Vous pouvez même stocker des valeurs QList<QVariant> et QMap<QString, QVariant> dans un QVariant, donc vous pouvez facilement construire des structures de données complexes de types arbitraires. Ceci est très puissant et flexible mais peut s'avérer moins efficace en mémoire et en performance qu'un stockage classique de structures de données spécifiques. QVariant gère aussi la notion de valeur nulle, qui permet de définir un type sans spécifier de valeur. Cependant, notez que les types QVariant ne peuvent être convertis que lorsqu'ils possèdent une valeur définie. QVariant x, y(QString()), z(QString("")); x.convert(QVariant::Int); // x.isNull() == true // y.isNull() == true, z.isNull() == false QVariant peut être étendu pour supporter d'autres types que ceux mentionnés dans l?énumération Type. Voir la documentation de QMetaType pour plus de détails. Une note à propos des types pour les interfaces graphiquesComme QVariant fait partie de la bibliothèque QtCore, il ne peut pas fournir des fonctions de conversions pour les types de données définis dans QtGui, tels que QColor, QImage et QPixmap. Autrement dit, il n'y a pas de fonction toColor(). À la place, vous pouvez utiliser les fonctions templates QVariant::value() ou qVariantValeur(). Par exemple : QVariant variant; ... QColor color = variant.value<QColor>(); La conversion inverse (c'est-à-dire à partir de QColor en QVariant) est automatique pour tous les types de données supportés par QVariant, y compris les types de données liés aux interfaces graphiques : QColor color = palette().background().color(); QVariant variant = color; Lors de l'utilisation de canConvert() et convert() consécutivement, il est possible que canConvert() retourne truemais que convert() retourne false. Ceci est dû à canConvert(), qui ne donne que la capacité générale de QVariant pour convertir les types dans le cas où les données fournies sont adéquates ; il reste possible de fournir des données qui ne peuvent pas réellement être converties.Par exemple, canConvert() retournera true lors de l'appel sur un QVariant contenant une chaîne de caractères car, en principe, QVariant est capable de convertir les chaînes de caractères de nombres en entier. Par contre, si la chaîne de caractères contient des caractères non numériques, il ne peut pas être converti en un entier et tous les essais pour le convertir échoueront. Donc, il est important que les deux fonctions retournent true pour que la conversion soit réussie. Voir aussi QMetaType. Typeenum QVariant::TypeCette énumération définit les types de variables qu'un QVariant peut contenir.
Fonctions membresQVariant::QVariant ()Construit un QVariant invalide. QVariant::QVariant ( const QLocale & l )Construit un nouveau QVariant avec la valeur l. QVariant::QVariant ( const QRegExp & regExp )Construit un nouveau QVariant avec la valeur regExp. QVariant::QVariant ( const QEasingCurve & val )Construit un nouveau QVariant avec la valeur val. Cette fonction a été introduite dans Qt 4.7. QVariant::QVariant ( Qt::GlobalColor color )Construit un nouveau QVariant de type QVariant::Color et l'initialise avec color. Ce constructeur permet d'utiliser la syntaxe QVariant(Qt::blue); pour créer un QVariant valide contenant un QColor. Note. Ce constructeur lèvera une assertion si l'application n'est pas liée à la bibliothèque d'interfaces graphiques de Qt. Cette fonction a été introduite dans Qt 4.2. QVariant::QVariant ( Type type )Construit un QVariant nul de type type. QVariant::QVariant ( int typeOrUserType, const void * copy )Construit un QVariant de type typeOrUserType et l'initialise avec copy si copy est différent de 0. Notez que vous devez passer l'adresse de la variable que vous voulez stocker. Habituellement, vous n'avez pas à utiliser ce constructeur, mais plutôt qVariantFromValeur(), afin de construire les QVariant à partir des types pointeurs représentés par QMetaType::VoidStar, QMetaType::QObjectStar et QMetaType::QWidgetStar. Voir aussi qVariantFromValeur() et Type. QVariant::QVariant ( const QVariant & p )Construit une copie du QVariant, p, passé comme argument au constructeur. QVariant::QVariant ( QDataStream & s )Lit le QVariant à partir du flux de données, s. QVariant::QVariant ( int val )Construit un nouveau QVariant avec l'entier val. QVariant::QVariant ( uint val )Construit un nouveau QVariant avec l'entier non signé val. QVariant::QVariant ( qlonglong val )Construit un nouveau QVariant avec l'entier long long val. QVariant::QVariant ( qulonglong val )Construit un nouveau QVariant avec l'entier non signé long long val. QVariant::QVariant ( bool val )Construit un nouveau QVariant avec le booléen val. QVariant::QVariant ( double val )Construit un nouveau QVariant avec le nombre en virgule flottante val. QVariant::QVariant ( float val )Construit un nouveau QVariant avec le nombre en virgule flottante val. Cette fonction a été introduite dans Qt 4.6. QVariant::QVariant ( const char * val )Construit un nouveau QVariant avec la chaîne de caractères val. Le QVariant crée une copie complète de val, utilisant l'encodage défini par QTextCodec::setCodecForCStrings(). Notez que val est converti en un QString pour le stockage dans le QVariant et la fonction QVariant::type() retournera QMetaType::QString pour ce QVariant. Vous pouvez désactiver cet opérateur en définissant QT_NO_CAST_FROM_ASCII lors de la compilation de vos applications. Voir aussi QTextCodec::setCodecForCStrings(). QVariant::QVariant ( const QByteArray & val )Construit un nouveau QVariant avec le QByteArray val. QVariant::QVariant ( const QBitArray & val )Construit un nouveau QVariant avec le QBitArray val. QVariant::QVariant ( const QString & val )Construit un nouveau QVariant avec la chaîne de caractères val. QVariant::QVariant ( const QLatin1String & val )Construit un nouveau QVariant avec la chaîne de caractères val. QVariant::QVariant ( const QStringList & val )Construit un nouveau QVariant avec la liste de chaîne de caractères val. QVariant::QVariant ( const QChar & c )Construit un nouveau QVariant avec la valeur caractère c. QVariant::QVariant ( const QDate & val )Construit un nouveau QVariant avec la valeur date val. QVariant::QVariant ( const QTime & val )Construit un nouveau QVariant avec le QTime val. QVariant::QVariant ( const QDateTime & val )Construit un nouveau QVariant avec le QDateTime val. QVariant::QVariant ( const QList<QVariant> & val )Construit un nouveau QVariant avec la liste val. QVariant::QVariant ( const QMap<QString, QVariant> & val )Construit un nouveau QVariant avec la QMap de QVariant val. QVariant::QVariant ( const QHash<QString, QVariant> & val )Construit un nouveau QVariant avec la table de hachage de QVariant val. QVariant::QVariant ( const QSize & val )Construit un nouveau QVariant avec la valeur taille val. QVariant::QVariant ( const QSizeF & val )Construit un nouveau QVariant avec la valeur taille val. QVariant::QVariant ( const QPoint & val )Construit un nouveau QVariant avec le point val. QVariant::QVariant ( const QPointF & val )Construit un nouveau QVariant avec le point val. QVariant::QVariant ( const QLine & val )Construit un nouveau QVariant avec la ligne val. QVariant::QVariant ( const QLineF & val )Construit un nouveau QVariant avec la ligne val. QVariant::QVariant ( const QRect & val )Construit un nouveau QVariant avec le rectangle val. QVariant::QVariant ( const QRectF & val )Construit un nouveau QVariant avec le rectangle val. QVariant::QVariant ( const QUrl & val )Construit un nouveau QVariant avec l'URL val. QVariant::~QVariant ()Détruit le QVariant et l'objet contenu. Notez que les classes dérivées qui réimplémentent clear() doivent réimplémenter le destructeur pour appeler clear(). Ce destructeur appelle clear() mais comme c'est le destructeur de base, QVariant::clear() est appelé à la place du clear() de la classe dérivée. bool QVariant::canConvert ( Type t ) constRetourne true si la type du QVariant peut être converti en type t. Cette conversion est effectuée automatiquement lors de l'appel des méthodes toInt(), toBool(), etc. Les conversions suivantes sont effectuées automatiquement :
Voir aussi convert(). bool QVariant::canConvert () constRetourne true si le QVariant peut être converti dans le type template T, sinon retourne false. Exemple: QVariant v = 42; v.canConvert<int>(); // retourne vrai v.canConvert<QString>(); // retourne vrai MyCustomStruct s; v.setValeur(s); v.canConvert<int>(); // retourne faux v.canConvert<MyCustomStruct>(); // retourne vrai Attention : cette fonction n'est pas disponible avec MSVC 6. Utilisez la fonction qVariantCanConvert() à la place si vous avez besoin de supporter cette version du compilateur. Voir aussi convert(). void QVariant::clear ()Convertit le QVariant en type Invalid et libère les ressources utilisées. bool QVariant::convert ( Type t )Convertit le QVariant dans le type requis, t. Si la conversion ne peut être effectuée, le QVariant est invalidé. Retourne true si le type courant de QVariant a été converti avec succès; sinon retourne false. Attention : pour des raisons historiques, la conversion d'un QVariant nul résulte en une valeur nulle du type désiré (c'est-à-dire, par exemple, une chaîne de caractères vide pour QString) et un retour de la valeur false. Voir aussi canConvert() et clear(). QVariant QVariant::fromValeur ( const T & value ) [static]Retourne un QVariant contenant une copie de value. Se comporte exactement comme setValeur(). Exemple: MyCustomStruct s; return QVariant::fromValeur(s); Note : si vous travaillez avec des types personnalisés, vous devriez utiliser la macro Q_DECLARE_METATYPE() pour enregistrer votre type. Attention : cette fonction n'est pas disponible avec MSVC 6. Utilisez la fonction qVariantFromValeur() à la place si vous avez besoin de supporter cette version du compilateur. Voir aussi setValeur() et value(). bool QVariant::isNull () constRetourne true si le QVariant est nul, sinon false. bool QVariant::isValid () constRetourne true si le type contenu dans ce QVariant n'est pas QVariant::Invalid; sinon retourne false. Type QVariant::nameToType ( const char * name ) [static]Convertit la chaîne de caractères name représentant un type en sa représentation dans l'énumération. Si la chaîne de caractères ne peut être convertie en une valeur de l'énumération, le QVariant est défini à Invalid. void QVariant::setValeur ( const T & value )Stocke une copie de value. Si le type T n'est pas un type géré par QVariant, QMetaType est utilisé pour stocker la valeur. Une erreur de compilation se produira si QMetaType ne gère par le type. Exemple: QVariant v; v.setValeur(5); int i = v.toInt(); // i vaut 5 QString s = v.toString() // s vaut "5" MyCustomStruct c; v.setValeur(c); ... MyCustomStruct c2 = v.value<MyCustomStruct>(); Attention : cette fonction n'est pas disponible pour MSVC 6. Utilisez la fonction qVariantSetValeur() à la place si vous avez besoin de supporter ce compilateur. Voir aussi value(), fromValeur() et canConvert(). QBitArray QVariant::toBitArray () constRetourne le QVariant sous forme d'un QBitArray si le type() du QVariant est BitArray ; sinon retourne un tableau de bits vide. Voir aussi canConvert() et convert(). bool QVariant::toBool () constRetourne le QVarient sous forme d'un booléen si le type() est Bool. Retourne true si le type() est Bool, Char, Double, Int, LongLong, UInt ou ULongLong et la valeur est différente de zéro ou si le type est String ou ByteArray et qu'il n'est pas vide, « » ou « false » ; sinon retourne false. Voir aussi canConvert() et convert(). QByteArray QVariant::toByteArray () constRetourne le QVariant sous forme d'un QByteArray si le QVarient est de type() ByteArray ou String (convertie avec QString::fromAscii()) ; sinon retourne un tableau d'octets vide. Voir aussi canConvert() et convert(). QChar QVariant::toChar () constRetourne le QVariant sous forme d'un QChar si le type() est Char, Int ou UInt ; sinon retourne un QChar invalide. Voir aussi canConvert() et convert(). QDate QVariant::toDate () constRetourne le QVariant tel un QDate si le type() est Date, DateTime ou String ; sinon retourne une date invalide. Si le type() est String, une date invalide sera retournée si la chaine de caractères ne peut pas être analysée dans le format Qt::ISODate. Voir aussi canConvert() et convert(). QDateTime QVariant::toDateTime () constRetourne le QVariant sous forme d'un QDateTime si le type() est DateTime, Date ou String ; sinon, retourne une QDateTime invalide. Si le type() est String, une QDateTime invalide sera retournée si la chaîne de caractères n'est pas dans le format Qt::ISODate. Voir aussi canConvert() et convert(). double QVariant::toDouble ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un double si le type() est Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt ou ULongLong ; sinon retourne 0.0. Si ok n'est pas nul, *ok est mis à true si la valeur a pu être convertie ; sinon, *ok est mis à false. Voir aussi canConvert() et convert(). QEasingCurve QVariant::toEasingCurve () constRetourne le QVariant sous forme d'un QEasingCurve si le type() est EasingCurve ; sinon retourne une QEasingCurve par défaut. Cette fonction a été introduite dans Qt 4.7. Voir aussi canConvert() et convert(). float QVariant::toFloat ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un float si le type() est Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt ou ULongLong; sinon retourne 0.0. Si ok n'est pas nul, *ok est mis à true si la valeur a pu être convertie ; sinon, *ok est mis à false. Cette fonction a été introduite dans Qt 4.6. Voir aussi canConvert() et convert(). QHash<QString, QVariant> QVariant::toHash () constRetourne le QVariant sous forme d'un QHash<QString, QVariant> si le type() est Hash ; sinon retourne une table de hachage vide. Voir aussi canConvert() et convert(). int QVariant::toInt ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un int si le type() est Int, Bool, ByteArray, Char, Double, LongLong, String, UInt ou ULongLong ; sinon retourne 0. Si ok est non nul, *ok est mis à true si la valeur a pu être convertie en int ; sinon, *ok est mis à false. Attention : si la valeur est convertible en un LongLong mais qu'elle est trop grande pour être représentée dans un int, le dépassement arithmétique ne sera pas reflété dans ok. Un contournement simple est d'utiliser la fonction QString::toInt(). La correction de ce bogue a été reportée à Qt 5 afin d'éviter de casser le code existant. Voir aussi canConvert() et convert(). QLine QVariant::toLine () constRetourne le QVariant sous forme d'un QLine si le type() est Line ; sinon retourne un QLine invalide. Voir aussi canConvert() et convert(). QLineF QVariant::toLineF () constRetourne un QVariant sous forme d'un QLineF si le type() est LineF ; sinon retourne un QLineF invalide. Voir aussi canConvert() et convert(). QList<QVariant> QVariant::toList () constRetourne le QVariant sous forme d'un QVariantList si le type() est List ou StringList ; sinon retourne une liste vide. Voir aussi canConvert() et convert(). QLocale QVariant::toLocale () constRetourne le QVariant sous forme d'un QLocale si le type() est Locale ; sinon retourne un QLocale invalide. Voir aussi canConvert() et convert(). qlonglong QVariant::toLongLong ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un long long int si le type() est LongLong, Bool, ByteArray, Char, Double, Int, String, UInt ou ULongLong ; sinon retourne 0. Si ok est non nul: *ok est mis à true si la valeur a pu être convertie en int; sinon *ok est mis à false. Voir aussi canConvert() et convert(). QMap<QString, QVariant> QVariant::toMap () constRetourne le QVariant sous forme d'un QMap<QString, QVariant> si le type() est Map ; sinon retourne une table de hachage vide. Voir aussi canConvert() et convert(). QPoint QVariant::toPoint () constRetourne le QVariant sous forme d'un QPoint si le type() est Point ou PointF ; sinon retourne un QPoint nul. Voir aussi canConvert() et convert(). QPointF QVariant::toPointF () constRetourne le QVariant sous forme d'un QPointF si le type() est Point ou PointF ; sinon retourne un QPointF nul. Voir aussi canConvert() et convert(). qreal QVariant::toReal ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un qreal si le type() est Double, QMetaType::Float, Bool, ByteArray, Int, LongLong, String, UInt ou ULongLong; sinon retourne 0.0. Si ok n'est pas nul, *ok est mis à true si la valeur a pu être convertie ; sinon, *ok est mis à false. Cette fonction a été introduite dans Qt 4.6. Voir aussi canConvert() et convert(). QRect QVariant::toRect () constRetourne le QVariant sous forme d'un QRect si le type() est Rect ; sinon retourne un QRect invalide. Voir aussi canConvert() et convert(). QRectF QVariant::toRectF () constRetourne le QVariant sous forme d'un QRectF si le type() est Rect ou RectF ; sinon retourne un QRectF invalide. Voir aussi canConvert() et convert(). QRegExp QVariant::toRegExp () constRetourne le QVariant sous forme d'un QRegExp si le type() est RegExp ; sinon retourne un QRegExp vide. Cette fonction a été introduite dans Qt 4.1. Voir aussi canConvert() et convert(). QSize QVariant::toSize () constRetourne un QVariant sous forme d'un QSize si le type() Size ; sinon retourne un QSize invalide. Voir aussi canConvert() et convert(). QSizeF QVariant::toSizeF () constRetourne le QVariant sous forme d'un QSizeF si le type() est SizeF ; sinon retourne un QSizeF invalide. Voir aussi canConvert() et convert(). QString QVariant::toString () constRetourne le QVariant sous forme d'un QString si le type() est String, Bool, ByteArray, Char, Date, DateTime, Double, Int, LongLong, StringList, Time, UInt ou ULongLong ; sinon retourne une chaîne de caractères vide. Voir aussi canConvert() et convert(). QStringList QVariant::toStringList () constRetourne le QVariant sous forme d'un QStringList si le type() est StringList, String ou List d'un type qui peut être converti en QString ; sinon, retourne une liste vide. Voir aussi canConvert() et convert(). QTime QVariant::toTime () constRetourne le QVariant sous forme d'un QTime si le type() est Time, DateTime ou String ; sinon retourne un QTime invalide. Si le type() est String, un QTime invalide sera retourné si la chaine de caractères ne peut pas être analysée dans le format de temps Qt::ISODate. Voir aussi canConvert() et convert(). uint QVariant::toUInt ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un unsigned int si le type() est UInt, Bool, ByteArray, Char, Double, Int, LongLong, String ou ULongLong ; sinon retourne 0. Si ok est non nul, *ok est mis à true si la valeur a pu être convertie en un unsigned int ; sinon, *ok est mis à false. Attention : si la valeur est convertible en un ULongLong mais trop grande pour être représentée dans un unsigned int, le dépassement arithmétique ne sera pas reflété dans ok. Un contournement simple est d?utiliser la fonction QString::toUInt(). La correction de ce bogue a été repoussée à Qt 5 afin de ne pas casser le code existant. Voir aussi canConvert() et convert(). qulonglong QVariant::toULongLong ( bool * ok = 0 ) constRetourne le QVariant sous forme d'un unsigned long long int si le type() est ULongLong, Bool, ByteArray, Char, Double, Int, LongLong, String ou UInt ; sinon retourne 0. Si ok est non nul, *ok est mis à true si la valeur n'a pas pu être convertie en un int ; sinon, *ok est mis à false. Voir aussi canConvert() et convert(). QUrl QVariant::toUrl () constRetourne le QVariant sous forme d'un QUrl si le type() est Url ; sinon retourne un QUrl invalide. Voir aussi canConvert() et convert(). Type QVariant::type () constRetourne le type de la valeur contenue dans le QVariant. Bien que cette fonction retourne un QVariant::Type, la valeur de retour devrait être interprétée comme un QMetaType::Type. En particulier, QVariant::UserType est retourné seulement si la valeur est égale ou supérieure à QMetaType::User. Notez que les valeurs de retour comprises entre QVariant::Char et QVariant::RegExp ainsi qu'entre QVariant::Font et QVariant::Transform correspondent aux valeurs comprises entre QMetaType::QChar et QMetaType::QRegExp ainsi qu'entre QMetaType::QFont et QMetaType::QQuaternion. Faites particulièrement attention lorsque vous travaillez avec des QVariant de char et QChar. Notez qu'il n'y a pas de constructeur de QVariant spécifique pour char mais il y en a un pour QChar. Pour les QVariant de type QChar, la fonction retourne QVariant::Char, qui est identique à QMetaType::QChar mais, pour les QVariant de type char, cette fonction retourne QMetaType::Char, qui est différent de QVariant::Char. Notez aussi que les types void*, long, short, unsigned long, unsigned short, unsigned char, float, QObject* et QWidget* sont représentés dans QMetaType::Type mais pas dans QVariant::Type et qu'ils peuvent être renvoyés par cette fonction. Cependant, ils sont considérés comme des types définis par l'utilisateur lorsqu'ils sont testés avec QVariant::Type. Pour tester si une instance de QVariant contient un type de donnée compatible avec le type qui vous intéresse, utilisez canConvert(). const char * QVariant::typeName () constRetourne le nom du type contenu dans le QVariant. La chaîne de caractères décrit le type de donnée C++ utilisé pour stocker la donnée : par exemple, »QFont », »QString » ou »QVariantList ». Un QVariant invalide retourne 0. const char * QVariant::typeToName ( Type typ ) [static]Convertit la représentation dans l'énumération du type contenu, typ, en sa représentation en chaîne de caractères. Retourne un pointeur nul si le type est QVariant::Invalid ou s'il n'existe pas. int QVariant::userType () constRetourne le type de la valeur contenue dans le QVariant. Pour les types non définis par l'utilisateur, cette fonction est identique à type(). Voir aussi type(). T QVariant::value () constRetourne la valeur contenue convertie dans le type template T. Appelez la fonction canConvert() pour savoir si le type peut être converti. Si la valeur ne peut être convertie, une valeur construite par défaut sera retournée. Si le type T n'est pas géré par QVariant, cette fonction se comporte exactement comme toString(), toInt(), etc. Exemple: QVariant v; MyCustomStruct c; if (v.canConvert<MyCustomStruct>()) c = v.value<MyCustomStruct>(); v = 7; int i = v.value<int>(); // identique à v.toInt() QString s = v.value<QString>(); // identique à v.toString(), s vaut "7" MyCustomStruct c2 = v.value<MyCustomStruct>(); // la conversion a échoué, c2 est vide Attention : cette fonction n'est pas disponible avec MSVC 6. Utilisez la fonction qVariantValue() ou qvariant_cast() à la place si vous devez supporter ce compilateur. Voir aussi setValeur(), fromValeur() et canConvert(). bool QVariant::operator!= ( const QVariant & v ) constCompare ce QVariant avec v et retourne true s'ils sont différents ; sinon retourne false. Attention : cette fonction ne gère pas les types personnalisés enregistrés avec qRegisterMetaType(). QVariant & QVariant::operator= ( const QVariant & variant )Affecte la valeur variant au QVariant. bool QVariant::operator== ( const QVariant & v ) constCompare ce QVariant avec v et retourne true s'ils sont égaux ; sinon retourne false. Dans le cas de types personnalisés, leurs opérateurs d'égalité ne sont pas appelés. À la place, on compare les adresses des valeurs. En relation mais non membres de la classetypedef QVariantHashSynonyme de QHash<QString, QVariant>. Ce typedef a été introduit dans Qt 4.5. typedef QVariantListtypedef QVariantMapSynonyme pour QMap<QString, QVariant>. bool qVariantCanConvert ( const QVariant & value )Retourne true si la valeur donnée value peut être convertie dans le type du template ; sinon retourne false. Cette fonction est équivalente à QVariant::canConvert(value). Elle est fournie afin de contourner les limitations de MSVC 6, qui ne supporte pas les fonctions templates membres. Voir aussi QVariant::canConvert(). QVariant qVariantFromValue ( const T & value )Retourne un QVariant contenant une copie de la valeur donnée value de type T. Cette fonction est équivalente à QVariant::fromValue(value). Elle est fournie afin de contourner les limitations de MSVC 6, qui ne supporte pas les fonctions templates membres. Par exemple, un pointeur QObject peut être stocké dans un QVariant avec le code suivant : QObject *object = getObjectFromSomewhere(); QVariant data = qVariantFromValue(object); Voir aussi QVariant::fromValue(). void qVariantSetValue ( QVariant & variant, const T & value )Définit le contenu du QVariant donné variant avec la copie de value du type T. Cette fonction est équivalente à QVariant::setValue(value). Elle est fournie afin de contourner les limitations de MSVC 6, qui ne supporte pas les fonctions templates membres. Voir aussi QVariant::setValue(). T qVariantValue ( const QVariant & value )Retourne la valeur donnée value convertie en type T. Cette fonction est équivalente à QVariant::value<T>(value). Elle est fournie afin de contourner les limitations de MSVC 6, qui ne supporte pas les fonctions templates membres. Voir aussi QVariant::value() et qvariant_cast(). T qvariant_cast ( const QVariant & value )Retourne la valeur donnée value convertie en type T. Cette fonction est équivalente à qVariantValeur(). Voir aussi qVariantValeur() et QVariant::value(). bool operator!= ( const QVariant & v1, const QVariant & v2 )Retourne false si v1 et v2 sont égaux ; sinon retourne true. Attention : cette fonction ne supporte pas les types personnalisés enregistrés avec qRegisterMetaType(). bool operator== ( const QVariant & v1, const QVariant & v2 )Retourne true si v1 et v2 sont égaux ; sinon, retourne false. Attention : cette fonction ne supporte pas les types personnalisés enregistrés avec qRegisterMetaType(). RemerciementsMerci à Alexandre Laurent pour la traduction, ainsi qu'à Ilya Diallo et Claude Leloup pour la relecture ! |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.7 | |
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |