1. QVariant的基础知识
1.1 判断能否转换为目标类型
bool QVariant::canConvert(int targetTypeId) const
比如字符串"12hf6",转换为int类型,依然返回true
bool QVariant::convert(int targetTypeId)
比如字符串"12hf6",转换为int类型,则返回false
如果返回false,则清除变量
总结:canConvert要求宽松点,convert要求严格,会明确是否符合转换后的类型
2. QVariant拓展应用
#include <QCoreApplication>
#include <QVariant>
#include <QDebug>
bool CDataCheck::IsConvert(QVariant varData, const QMetaType::Type& emTargetType)
{
if (varData.isNull())
{
return false;
}
if (!varData.convert(emTargetType))
{
return false;
}
return true;
}