我有一个我存储在 QVariant
中的 QDateTime object
,然后用 type()
检查 QVariant
void MainWindow::Test()
{
QDateTime myDate; // QDateTime;
myDate.setDate(QDate::currentDate());
QVariant myVariant(myDate);
qDebug() << myVariant.canConvert(QMetaType::QDateTime); // return true
// here is the problem
qDebug() << myVariant.canConvert(QMetaType::QString); // return true as well
}
canConvert
仅表示转换是可能的,而不是变体包含特定类型。验证类型使用此方法:
qDebug() << (myVariant.type()==QVariant::DateTime);
qDebug() << (myVariant.type()==QVariant::String);