日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QVaraint类

發布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QVaraint类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、QVaraint簡介QVaraint類作為一個包含了大多數Qt普通類型的的聯合體類。因為c++聯合體沒有構造函數和析構函數的,許多繼承的Qt類不能夠在聯合體當中使用。(聯合體當中的變量共用一個存儲區),沒有了聯合變量,我們在物體屬性以及數據庫的工作等方面受到很多的困擾。一個QVariant對象一段時間只保留一種類型的值。我們可以使用?bool QVariant::canConvert(int targetTypeId) const來判斷該類型是否可以轉換。二、使用
  • QDataStream out(...);
  • QVariant v(123); // The variant now contains an int
  • int x = v.toInt(); // Writes a type tag and an int to out
  • v = QVariant("hello");// The variant now contains a QByteArray
  • v = QVariant(tr("hello")); // The variant now contains a QString
  • int y = v.toInt(); // y = 0 since v cannot be converted to an int
  • QString s = v.toString(); // s = tr("hello") (see QObject::tr())
  • out << v; // Writes a type tag and a QString to out
  • ...
  • QDataStream in(...); // (opening the previously written stream)
  • in >> v; // Reads an Int variant
  • int z = v.toInt(); // z = 123
  • qDebug("Type is %s", // prints "Type is int"
  • v.typeName());
  • v = v.toInt() + 100; // The variant now hold the value 223
  • v = QVariant(QStringList());你甚至可以存儲QList<QVariant>和QMap<QString ,QVariant>.
  • 所以你可以構造任意復雜的任意的數據類型。這個是非常強大而且又有用的。QVariant也支持null值,你可以定義一個 沒有任何值的類型,然而,也要注意QVariant類型只能在他們有值的時候被強制轉換。QVariant x, y(QString()), z(QString(""));
    ?x.convert(QVariant::Int);
    ?// x.isNull() == true
    ?// y.isNull() == true, z.isNull() == false
    因 為QVariant是QtCore庫的一部分,它不能夠提供定義在QtGui當中的類型的轉換,如QColor,QImage,he QPixmap等。換句話說,沒有toColor()這樣的函數。取代的,你可以使用QVariant::value()或者 qVariantValue()這兩個模板函數。 QVariant variant;
    ?...
    ?QColor color = variant.value<QColor>();
    反向轉換(如把QColor轉成QVariant)是自動完成的。也包含了GUI相關的那些數據類型。
    QColor color=palette().background().color();
    QVariant variant=color;



    來自為知筆記(Wiz)

    轉載于:https://www.cnblogs.com/chengkeke/p/5417430.html

    總結

    以上是生活随笔為你收集整理的QVaraint类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。