Ok, avec evaluate.
La doc qui t'intéresse est celle là : http://doc-snapshot.qt-project.org/q...tive-functions
Le code d'exemple est le suivant :
QScriptValue result = engine.evaluate(contents, fileName);
Donc côté C++, le retour de l'évaluation est déjà récupérer, il n'y a quasi rien à faire. QScriptValue est une forme de QVariant, il faut simplement vérifier s'il n'y a pas d'erreur (ce qui est fait juste après dans le code d'exemple avec isError), vérifier que la valeur est valide avec isValide(), vérifier le type avec les fonctions isBool, isInt, isAutreChose, puis convertir avec toBool, toInt, toAutreChose
Dans le JS, il suffit d'appeler return (pour une fonction globale en JS)
Par contre, le code d'exemple n'est pas une fonction à évaluer mais un code manipulant un objet passé en paramètre du QScriptEngine
Regarde le lien que j'ai donné, tu as des exemples de codes pour évaluer une fonction simple et récupérer le retour
Partager