Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Jouer du code Javascript dans votre application Qt

Bonjour

En lisant le titre on peut se demander l'intérêt du truc ]:D mais bon pour le fun :D

Je suis tombé la dessus et voici comment créer à la volée un objet "Qml" et appeler une fonction.

QQmlEngine engine;
QQmlComponent component(&engine);

component.setData("import QtQuick 2.0\n QtObject \
{ \
function foo(a,b) \
{ \
return a + b; \
} \
}", QUrl());

QObject *item = component.create();
QVariant a = "A que ";
QVariant b = "coucou";
QVariant returnedValue;
bool tmp = QMetaObject::invokeMethod(item, "foo",Qt::AutoConnection,
Q_RETURN_ARG(QVariant, returnedValue),
Q_ARG(QVariant, a),Q_ARG(QVariant, b));
delete item;
Qtring result = returnedValue.toString();
Sympa non ?

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.