当前位置: 首页>>代码示例>>C++>>正文


C++ QVariant::toBitArray方法代码示例

本文整理汇总了C++中QVariant::toBitArray方法的典型用法代码示例。如果您正苦于以下问题:C++ QVariant::toBitArray方法的具体用法?C++ QVariant::toBitArray怎么用?C++ QVariant::toBitArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QVariant的用法示例。


在下文中一共展示了QVariant::toBitArray方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: variantToBitArray

QBitArray variantToBitArray(QVariant &variant, bool &ok)
{
    ok = true;
    switch (variant.type()) {
    case (QVariant::Bool):{
        bool v = variant.toBool();
        return bitArrayFromType<bool>(v);
    }
        CASE_RETURN_VARIANT_TO_BIT_ARRAY(((QVariant::Type)QMetaType::UChar),toUInt,uchar);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY(((QVariant::Type)QMetaType::Char),toInt,char);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY(((QVariant::Type)QMetaType::UShort),toUInt,ushort);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY(((QVariant::Type)QMetaType::Short),toInt,short);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY((QVariant::UInt),toUInt,uint);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY((QVariant::ULongLong),toULongLong,qulonglong);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY((QVariant::Int),toInt,int);
        CASE_RETURN_VARIANT_TO_BIT_ARRAY((QVariant::LongLong),toLongLong,qlonglong);
    case (QVariant::BitArray):{
        QBitArray v = variant.toBitArray();
        return v;
    }
    default:
        ok = false;
        Q_ASSERT(ok);
        return QBitArray();
    }
}
开发者ID:Krzysztow,项目名称:proto-gateway,代码行数:26,代码来源:propertyconverter.cpp

示例2: updateValue

void DashLabel::updateValue(QVariant value){
    if(value.type() == QVariant::Double || value.type() == QVariant::String){
        setText(value.toString());
    }else if(value.type() == QVariant::BitArray){
        QString text;
        QBitArray bit = value.toBitArray();
        for(int i=0; i<bit.count(); i++){
            text.append(bit[i]?'1':'0');
            setText(text);
        }
    }

}
开发者ID:DavideMalvezzi,项目名称:EscorpioEvo15-DAQSystem,代码行数:13,代码来源:dashlabel.cpp

示例3: QString

bool GCF::Message::encodeVariant(QDataStream& ds, const QVariant& value)
{
    QString typeName;

    if( value.isValid() )
    {
        typeName = QString(value.typeName());
        if( typeName.isEmpty() )
            return false;
    }
    else
        typeName = "Invalid";

    if( value.type() >= QVariant::UserType )
        return false;

    // Prepare the typename in-case of bool, char, int, double
    switch(value.type())
    {
    case QVariant::Int:
        typeName = is32Bit() ? "qint32" : "qint64";
        break;
    case QVariant::Char:
        typeName = "quint8";
        break;
    case QVariant::UInt:
        typeName = is32Bit() ? "quint32" : "quint64";
        break;
    default:
        break;
    }

    // Serialize value on to the byte array
    switch( value.type() )
    {
    case QVariant::Invalid:
        ds << typeName;
        ds << qint32(0);
        break;
    case QVariant::Bool:
        ds << typeName;
        ds << value.toBool();
        break;
    case QVariant::Char:
        ds << typeName;
        ds << value.toChar();
        break;
    case QVariant::Color:
        ds << typeName;
        ds << value.value<QColor>();
        break;
    case QVariant::Date:
        ds << typeName;
        ds << value.toDate();
        break;
    case QVariant::DateTime:
        ds << typeName;
        ds << value.toDateTime();
        break;
    case QVariant::Double:
        ds << typeName;
        ds << value.toDouble();
        break;
    case QVariant::Int:
        ds << typeName;
        if( is32Bit() )
            ds << (qint32)value.toInt();
        else
            ds << (qint64)value.toInt();
        break;
    case QVariant::Time:
        ds << typeName;
        ds << value.toTime();
        break;
    case QVariant::UInt:
        ds << typeName;
        if( is32Bit() )
            ds << (quint32)value.toUInt();
        else
            ds << (quint64)value.toUInt();
        break;
    case QVariant::String:
        ds << typeName;
        ds << value.toString();
        break;
    case QVariant::Pixmap:
        ds << typeName;
        ds << value.value<QPixmap>();
        break;
    case QVariant::ByteArray:
        ds << typeName;
        ds << value.toByteArray();
        break;
    case QVariant::BitArray:
        ds << typeName;
        ds << value.toBitArray();
        break;
    case QVariant::Image:
        ds << typeName;
        ds << value.value<QImage>();
//.........这里部分代码省略.........
开发者ID:banduladh,项目名称:levelfour,代码行数:101,代码来源:Message.cpp


注:本文中的QVariant::toBitArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。