zoukankan      html  css  js  c++  java
  • QT::QVariant

    QVariant类像是最常见的Qt的数据类型的一个共用体。
    一个QVariant对象在一个时间只保存一个单一类型的单一值。
    使用toT()函数来将QVariant对象转换为T类型。并且获取他的值。
    
    toT()函数会复制QVariant对象,然后对其转换。所以QVariant对象并不会改变。
    对于一个类型是否可以转换为一个特殊类型,可以使用canConvert()函数来判断。如果可以转换,则该函数返回true。
    也可使用convert()函数将一个类型转换为其他不同的类型。如果转换成功则返回true。
    如果无法进行转换,variant对象将会被清空。并且返回false.对于同一种转换,两函数convert(),并不一定返回相同的结果。
    QVariant v1(15);
    qDebug() << v1.toInt();    // 结果为15
    
    QVariant v2(12.3);
    qDebug() << v2.toFloat();  // 结果为12.3
    
    QVariant v3("nihao");
    qDebug() << v3.toString(); // 结果为"nihao"
    
    QColor color = QColor(Qt::red);
    QVariant v4 = color;
    qDebug() << v4.type();     // 结果为QVariant::QColor
    qDebug() << v4.value<QColor>(); // 结果为QColor(ARGB 1,1,0,0)
    
    QString str = "hello";
    QVariant v5 = str;
    qDebug() << v5.canConvert(QVariant::Int); // 结果为true
    qDebug() << v5.toString();                // 结果为"hello"
    qDebug() << v5.convert(QVariant::Int);    // 结果为false
    qDebug() << v5.toString();                // 转换失败,v5被清空,结果为"0"
  • 相关阅读:
    FirstThunk
    FirstThunk
    输入地址表(IAT)
    PE文件讲解
    PE格式详细讲解
    pe结构讲解
    PE格式详细讲解
    输入地址表(IAT)
    pe结构讲解
    zindex可以使用负值
  • 原文地址:https://www.cnblogs.com/osbreak/p/14370159.html
Copyright © 2011-2022 走看看