QML封装而不创建新文件

时间:2015-09-11 19:08:31

标签: qt qml encapsulation qtquick2

让我们考虑以下示例:

ColumnLayout
{
    spacing: 10
    Label { color: "green"; text: "one text" }
    Label { color: "green"; text: "another text" }
    Label { color: "green"; text: "some text" }
}

创建一个类型会很棒。可以创建文件GreenLabel.qml

Label { color: "green" }

并做这样的事情:

ColumnLayout
{
    spacing: 10
    GreenLabel { text: "one text" }
    GreenLabel { text: "another text" }
    GreenLabel { text: "some text" }
}

这可以在不创建其他文件的情况下完成吗?

2 个答案:

答案 0 :(得分:3)

这是不可能的。最好,您可以在Component元素中定义新类型,然后使用Loader或手动动态实例化从类型原型中创建对象。

答案 1 :(得分:3)

在像您这样的场景中,您可以考虑使用Repeater并将文本字符串放在其模型中