Onu*_*urA 5 import qt prefix qml qtquick2
我想在我的main.qml文件中导入一个自定义模块。Main.qml位于"/"我的qml.qrc资源的前缀下。
我的自定义模块Config.qml位于Config子目录中。(Config目录是在哪里main.qml,即/path/to/main/Config/Config.qml.
在config.qml和qmldir文件存储前缀下myPrefix的在qml.qrc文件中。
Project
|- Config
|- Config.qml
|- qmldir
|- main.qml
Run Code Online (Sandbox Code Playgroud)
我qmldir还根据文档http://doc.qt.io/qt-5/qtqml-modules-identifiedmodules.html创建了一个文件。这是我的Config.qml和qmldir文件。
配置文件
pragma Singleton
import QtQuick 2.0
QtObject {
property int myVariable: 10
}
Run Code Online (Sandbox Code Playgroud)
目录
singleton Config 1.0 Config.qml
Run Code Online (Sandbox Code Playgroud)
当我想导入文件MyModule中的自定义模块时main.qml。
import "???" as MyModule
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?有人有建议吗?
编辑:
qrc文件
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
<qresource prefix="/myPrefix">
<file>Config/qmldir</file>
<file>Config/Config.qml</file>
</qresource>
Run Code Online (Sandbox Code Playgroud)
来自文档:
模块的 qmldir 文件必须驻留在导入路径内的目录结构中,该目录结构反映 URI 点式标识符字符串,其中标识符中的每个点(“.”)反映目录树中的一个子级别。例如,模块 com.mycompany.mymodule 的 qmldir 文件必须位于导入路径中某处的子路径 com/mycompany/mymodule/qmldir 中。
因此,您应该更改module MyModule为module Config或将其导入到特定路径中:
import "./Config" as MyModule
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8580 次 |
| 最近记录: |