How to get QVariant value in QML

Viewed 1379

I run script file with QQmlEngine.

I passing QVector3D value to qml (QQmlEngine):

QVector3D dir(1,2,3);
QQmlEngine lifeEngine;
lifeEngine.globalObject().setProperty("direction", lifeEngine.toScriptValue<QVector3D>(dir));

This QML code outputs nothing interesting:

console.log("1-!");    
console.log("2-"+direction);
console.log("3.1-"+direction.x);
//console.log("3.2-"+direction.x()); interrupt execution

for(var property in direction) {
    console.log("4-"+property) + ": "+direction[property];
}
console.log("5-!");

var v = Qt.vector3d(1,2,3);
console.log("6-!" + v);

Output:

qml: 1-!
qml: 2-QVariant(QVector3D)
qml: 3.1-undefined
qml: 5-!
qml: 6-!undefined

I tried to import in file

import QtQuick 2.1

but it interrupt execution.

How can i get access to value QVector3D in QML? May be some imports in cpp project or in script file?... Problem is in environment not in code. May be vector3d available only in quick applications.

My *.pro file:

QT       += core gui multimedia qml quick

(Qt 5.12.2)

0 Answers
Related