QVariant::type() возвращает QVariant::ByteArray
преобразовывается в :
int
uint
qlonglong
qulonglong
double
QString
QByteArray
QColor
проверял таким образом ...
создаем таблицу с enum'ом
CREATE TABLE `enum1` (
`id` int(11) unsigned NOT NULL auto_increment,
`enum2` enum('a','b','c') collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ;
далее ...
QSqlQuery query(G::getDB());
query.exec("SELECT id,enum2 FROM `enum1`;");
query.next();
QVariant var = query.value(1);
G::debug(" type = "+G::str((int)var.type()));
for(int i=0;i<127;++i) {
if(var.canConvert((QVariant::Type)i))
G::debug(QVariant::typeToName((QVariant::Type)i));
};