2

我想在 qml 中调用一个方法 - 来自 c++ 的 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

对于我使用的测试

脚本.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 回答