Unsolved Passing QVariantMap from C++ to QML: Auto conversion fails! Bug??
-
Hi,
using Qt 5.4.1 on Windows7 (64bit), VS2010.
Passing QVariantMap from C++ to QML fails if QMap's key is a big integer! See below example:
That's the C++ function I call from QML:
Q_INVOKABLE QVariantMap test() { QVariantMap map; QVariantList values; values << "test" << "4294967295" << 5678; map.insert("4800000000", values); // as key I use a big integer as string! return map; };
The call from QML:
...
var result = myClass.test()for (var key in result) console.log(key, JSON.stringify(result[key], 0, 2)) }
The console output:
qml: 505032704 [
"test",
"4294967295",
5678
]
But I expect 4800000000.The key in C++ is a QString("4800000000") which is converted automatically my QQuick into an integer 505032704. BAD!!!
But if I use QString("4700000000") as key it works! Seems there is a conversion bug/limit when QQuick converts string number into int (uint?).
Any experience, suggestions to fix?
-
Hi,
From a quick look, I wonder if you are not hitting this ?