如何在脚本中访问QML中的布局?

时间:2016-12-13 17:49:04

标签: javascript qml

我想在QML脚本中访问Layout属性,如下所示:

function foobar()
{
  var element = <QML "Text" in "GridLayout">;
  element.Layout.topMargin = 23;
}

这可能吗?

2 个答案:

答案 0 :(得分:0)

如下所示:

GridLayout {
    anchors.fill: parent
     Text {
         id: txt
         Layout.topMargin: 100
     }
}
...
txt.Layout.topMargin = 10;

但我认为正确的方法是以更具声明性的方式做到这一点:

GridLayout {
    anchors.fill: parent
     Text {
         id: txt
         property int topMargin: 100
         Layout.topMargin: topMargin
     }
}
...
txt.topMargin = 10;

答案 1 :(得分:0)

假设您询问是否可以从外部/动态访问Item的附加属性,那么是。

示例:

ColumnLayout {
    Rectangle {
        Layout.fillHeight: true
        Layout.fillWidth: true
    }
    Rectangle {
        id: bottomRect
    }
}
MouseArea {
    onClicked: {
        bottomRect.Layout.fillHeight = true;
    }
}

如果您正在讨论使用

< "< element type >" in "< parent element type >" >
语法访问元素,那么不。这无法解释。