QVariant не может различить QDateTime и QString

у меня есть QDateTime object который я храню в QVariant а потом я проверяю QVariant с type() но это ведет себя странно, когда я проверяю тип.

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
}

0

Решение

canConvert означает только то, что преобразование возможно, но не этот вариант содержит определенный тип. Для проверки типа используйте этот подход:

qDebug() << (myVariant.type()==QVariant::DateTime);
qDebug() << (myVariant.type()==QVariant::String);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]