qt - 如何在单独的文件中定义 js 函数并将其附加到 QML 元素

标签 qt qml qtquick2

我可以做到这一点:

SomeElement{
    id: something
    function someFunction(){...}
....

OtherElement{
     property int whatever: something.someFunction()

但是,我希望所有 JS 函数都定义在一个单独的文件中。问题在于,据我所知,这将函数与附加到任何一个元素的功能分离。我不能再将函数作为另一个元素的属性来调用它。

是否可以将函数附加到 QML 元素,但仍将其定义在另一个文件中?是否有一些语法可以从元素中“转发”或“别名”该函数,以便仍然可以在元素上调用此“成员函数”,从而使该函数能够访问其父元素上的其他属性?

最佳答案

您可以尝试将js文件导入为某个模块,并使用带有模块名称前缀的函数。因此,它们将位于与 QML 对象的函数不同的“命名空间”中

有关它的文档:http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-imports.html

关于qt - 如何在单独的文件中定义 js 函数并将其附加到 QML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888283/

相关文章:

Qt $$[...] - 在构建 Qt 时设置的配置选项

qt - Windows 上的 Google NaCl 和 Qt

qt - QML,GridView 委托(delegate) : ReferenceError: `<variable_name>` is not defined

c++ - 在 Qml 场景下使用 OpenGL 渲染时出现奇怪的错误

android - 使用 Google Play 服务时出错

qt - ScrollView 中的矩形不可见

c++ - 在 QML 文件之间共享一个对象

c++ - QMake如何处理静态库的.prl文件?

qt - Qml、SQLite 和 EstimatedSize 参数

qt - 检查 url 类型值的正确方法是什么?