richard at weickelt.de
Thu Jun 18 16:39:45 CEST 2020
> Is the QJSEngine a complete replacement of QScriptEngine ?
No, not complete. QJSEngine provides less APIs and less control of the script execution and context arrangement. Whether your application is portable depends on which features of QtScriptEngine you use.
- swap out the global object,
- push/pop contexts,
- use QScriptClass
- throw script exceptions in constructors of script classes defined in C++
- use variable argument lengths in method calls from JS to C++?
then porting will not be straight forward. Otherwise it should be. Either evaluate your scripts directly with QJSEngine::evaluate() or use QQmlExpression if you need context hierarchies.
> Can I use the Qt QML module-contained QJSEngine for a classical
> program ? If so, is the JS programming in this setting very different than
> I am used to with Qt Script ?
Yes, you can use the QML/JS engine in any context, even without a GUI. QtQuick is just a bunch of components written in QML that you don't need to use at all.
More information about the Interest