Как осуществить переход с QtScript на QJSEngine?

Уже давно использую Qt, все круто все нравится, с выходом QJSEngine, QtSctipt пометили как устаревший,
а до сих пор не получается перенести некоторый функционал на QtScript.

Имеется некоторая платформа с использованием QtScript в качестве интерпретатора JavaScript для описания логики приложения.

Пример скрипта на JS

var f=new File('/var/www/test1');
f.write('123\n');
f.CopyTo('/var/www/test2');

Объект File описан как
class File: public QObject, QScriptable {
Q_OBJECT
….
}

и таких объектов больше 20 описано в платформе, много логики заложено в их конструкторе/деструкторе, есть Q_INVOKABLE методы которые вызываются в JS.
Вопрос в следующем: как перенести это все на QJSEngine сохранив синтаксис JS кода (его уже не мало написано)?

Искал ответы на stackoverflow
Динамическое создание с++ объектов в QJSEngine
Transition from QtScript to QML/QJSEngine
Dynamic c++ object in QJSEngine

Предлагают делать через фабрику, но это сильно ухудшит читаемость JS кода и его придется переписывать.
  • Вопрос задан
  • 678 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы