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 © 2025 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 ! |