如何从js文件中包含qml文件

Posted

技术标签:

【中文标题】如何从js文件中包含qml文件【英文标题】:How to include qml file from js file 【发布时间】:2015-02-24 11:14:32 【问题描述】:

我在 QML 中收集 some examples 的 import 语句。但是缺少一个——从 js 文件中导入一个 qml 文件。

文档says这是一种方法

.import Qt.test 1.0 as JsQtTest

但我不能让它工作。 感谢对我的示例集合的建议以及对问题的回答——如何从 js 文件中导入 qml 文件?

【问题讨论】:

JsQtTest 未定义 它适用于其他库吗? 不,我从来没有成功从js导入qml文件 哪个 Qt/QML 版本? 你定义了“Qt.test”模块吗? 【参考方案1】:

我认为一个可能的解决方法是不要在 JS 文件中导入 Qt 库,而是将其作为参数传递给从 JS 文件导出的函数:

function initLibrary(JsQtTest) 
   return 
      foo: function() 
         // use JsQtTest here
      
   ;

在 QML 中你会这样写:

import "myLibrary.js" as LibraryFactory
import Qt.test 1.0 as JsQtTest
...

var lib = LibraryFactory.initLibrary(JsQtTest)

lib.foo();

【讨论】:

是的,我就是这样做的,但想知道更多合法的方法。如果你想要一个 js 单例,这不是一种方法。

以上是关于如何从js文件中包含qml文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从节点包中包含 css/js 文件?

如何在 JSFL 文件中包含一些 js 文件?

在 Node.js 中包含 CSS 和 JS 文件

如何在我的自定义主题中包含自定义 js 文件?

如何在 vuejs 组件中包含 js 文件?

如何在聚合物 3 中包含外部 html 文件和 js 文件?