我想在qml中调用方法-来自C++的javascript。
基本上,我认为我已经完成了文档中所说的一切。
我可以这样调用该方法:

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

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

但是,如果我将其放在这样的单独的.js文件中,则无法调用同一函数:
import ../Script.js as Script
Rectangle {
    .........

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

}

该脚本已导入,所有内容均已导入,但是我仍然遇到一个问题,即无法识别参数。任何帮助将不胜感激。谢谢

最佳答案

arg1和arg2是否在矩形中定义?

否则它应该可以工作,除了必须用引号将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");
    }
}

关于javascript - qml中的调用方法-来自C++的javascript。范围问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6828497/

10-16 05:10