这是一个 QML 新手问题。从 table view example 我有这样的代码:
Column {
anchors.top: toolbar.bottom
.....
TabView {
id:frame
......
Tab {
title: "XmlListModel"
...
}
Tab { ...
由于qml文件很长,我想知道我是否可以嵌套qml文件
Column {
anchors.top: toolbar.bottom
.....
TabView {
id:frame
......
<include tab 1 qml file> <-- possible ????? -------
<include tab 2 qml file>
如果这样的
include
是不可能的,那么 QML 程序员如何构建他的代码?即使在 simple example 中,恕我直言,已经有太多的行来处理了。- 编辑 -
在回答之后,我发现这值得一读:
最佳答案
不,你不能做“包含”,但你可以把东西放到命名对象中。
例如,将您的 Tab #1 文件放在一个名为“Tab1”的文件中(或与它实际显示的内容相关的更好的名称;我不知道,所以无法帮您命名)。
所以在 Tab1.qml 中我们有:
import ...
Tab {
id: tab1
...
}
然后在主文件中,您现在可以引用它:
...
Tabview {
id: frame
Tab1 { id: tab1 }
}
你会注意到我再次为它添加了一个 id,因为父级不会
能够在没有它的情况下在 child 中引用 id。 (它们可以是不同的名称,但不要那样做。动物会哭。实际上,您也可以在 child 中省略 id,但许多人喜欢能够在文件中看到它。)
关于QML 文件包括 - 还是一个整体文件(结构 QML 代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19541369/