这是一个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中,已有太多行来处理恕我直言。
- 编辑 -
在答案之后我发现这个值得注意:
答案 0 :(得分:5)
不,你不能做“包括”,但你可以将东西放入命名对象。
例如,拿你的Tab#1文件,把它放在一个名为“Tab1”的文件中(或者一个更好的名称,它与它实际显示的内容有关;我不知道如此无法帮助你的名字)
所以在Tab1.qml中我们有:
import ...
Tab {
id: tab1
...
}
然后在主文件中,您现在可以引用它:
...
Tabview {
id: frame
Tab1 { id: tab1 }
}
你会注意到我再次为它添加了一个id,因为父母不会 能够在没有它的情况下引用孩子内的id。 (它们可以是不同的名字,但不要这样做。动物会哭。实际上,你也可以忽略孩子的身份,但许多人喜欢能够在文件中看到它。)