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

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

文档says这是一种方法

.import Qt.test 1.0 as JsQtTest

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

【问题讨论】:

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

标签: javascript qml


【解决方案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 单例,这不是一种方法。
猜你喜欢
  • 2014-04-05
  • 1970-01-01
  • 2019-03-17
  • 2020-03-14
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
相关资源
最近更新 更多