本文整理汇总了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();
}
}
示例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);
}
}
}
示例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>();
//.........这里部分代码省略.........