Ist es möglich, Javascript-Dateien in einer QJSEngine (QT 5.6) zu importieren?Qt QJSEngine Import js Dateien
Beispiel 1:
Text in plainTextEdit:
.import "./jsimport.js" as Test
var x = Test.y;
console.log(x);
C++:
void MainWindow::on_pushButton_clicked()
{
QJSEngine engine;
engine.installExtensions(QJSEngine::AllExtensions);
QJSValue result = engine.evaluate(ui->plainTextEdit->toPlainText());
qDebug() << "isError:" << result.isError();
qDebug() << "resultString:" << result.toString();
if(result.hasProperty("lineNumber"))
qDebug() << "property lineNumber:" << result.property("lineNumber").toInt();
}
Text in jsimport.js Datei:
var y = 42;
Ergebnis:
isError: true
resultString: "ReferenceError: Test is not defined"
property lineNumber: 2
Beispiel 2:
Text in PlainTextEdit:
.import "./jsimport.js"
gleichen C++ Code
Ergebnis:
isError: true
resultString: "SyntaxError: File import requires a qualifier"
property lineNumber: 1
Es scheint, dass es wegen des letzten Fehlers einige Funktionen für einen Import gibt.
oh ok. Kann ich die QQmlEngine nur für Javascript verwenden? – Mike
Ich weiß es nicht, noch kann ich Sie auf ein Beispiel davon hinweisen. In meinem Projekt habe ich QJSEngine verwendet und es funktioniert gut, solange Sie nicht erwarten, dass es Qml-Funktionen hat. –