2

c++からqml - javascriptでメソッドを呼び出したい。基本的に、ドキュメントに記載されていることはすべて実行したと思います。次のような場合、メソッドを呼び出すことができます。

Rectangle {
......
    Component.onCompleted:{
    ...........
    }

    function foo(arg1, arg2)
    {
        ................
    }
}

しかし、このように配置し、別の .js ファイルに次のように配置すると、同じ関数を呼び出すことはできません。

import ../Script.js as Script
Rectangle {
    .........

    Component.onCompleted:{
       Script.foo(arg1,arg2)
    }

}

スクリプトはすべてインポートされましたが、引数が認識されないという問題がまだあります。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

2

arg1 と arg2 は Rectangle のどこかに定義されていますか?

それ以外の場合は、Script.js を引用符でインポートする必要があることを除いて、動作するはずです。

import "../Script.js" as Script

私が使用したテストのために

Script.js

function foo(arg1, arg2) {
    print(arg1, arg2)
}

main.qml

import QtQuick 1.0

import "Script.js" as Script

Rectangle {
    width: 360
    height: 360

    Component.onCompleted: {
        Script.foo("a", "b");
    }
}
于 2011-07-26T20:16:18.983 に答える