我有一个QDateTime object,我将它存储在QVariant中,然后用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
}发布于 2014-01-20 19:44:03
canConvert只意味着转换是可能的,而不是variant包含特定类型。要验证类型,请使用以下方法:
qDebug() << (myVariant.type()==QVariant::DateTime);
qDebug() << (myVariant.type()==QVariant::String);https://stackoverflow.com/questions/21232593
复制相似问题