3

QJSEngine (QT 5.6) で JavaScript ファイルをインポートすることは可能ですか?

例 1:

プレーンテキスト編集のテキスト:

.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();
}

jsimport.js ファイル内のテキスト:

var y = 42;

結果:

isError: true
resultString: "ReferenceError: Test is not defined"
property lineNumber: 2

例 2:

PlainTextEdit のテキスト:

.import "./jsimport.js"

同じ C++ コード

結果:

isError: true
resultString: "SyntaxError: File import requires a qualifier"
property lineNumber: 1

最後のエラーのため、インポートにはいくつかの機能があるようです。

4

1 に答える 1