Gibt es eine einfache Möglichkeit, mit der Klasse QVariant mit hexadezimal-strings?

Diesem code-Beispiel funktioniert wie ich es erwarten würde:

v = QVariant("123456");
qDebug() << v; //QVariant(QString, "123456")
v.convert(QVariant::Int);
qDebug() << v; //QVariant(int, 123456)
v.convert(QVariant::String);
qDebug() << v; //QVariant(QString, "123456")

Wo, wie dies nicht:

v = QVariant("0xBEEF");
qDebug() << v; //QVariant(QString, "0xBEEF")
v.convert(QVariant::Int);
qDebug() << v; //QVariant(int, 0)
v.convert(QVariant::String);
qDebug() << v; //QVariant(QString, "")

Gibt es eine einfache Möglichkeit, um die Klasse QVariant Arbeit mit hexadezimal-strings, so das zweite Beispiel würde funktionieren, so etwas wie dieses:

v = QVariant("0xBEEF");
qDebug() << v; //QVariant(QString, "0xBEEF")
v.convert(QVariant::Int);
qDebug() << v; //QVariant(int, 48879)
v.convert(QVariant::String);
qDebug() << v; //QVariant(QString, "48879")
Schreibe einen Kommentar