2016-12-13 3 views
-1

Ich möchte wie dies die Eigenschaft Layout in QML Skript zuzugreifen:Zugriff auf Layout in QML im Skript?

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

ist das möglich?

+0

Warum würden Sie Ihrem GridLayout nicht einfach ein 'ID'-Feld zuweisen und es dann in Ihrem Code referenzieren? – selbie

Antwort

0

Es gibt kein Problem wie folgt vor:

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

Aber ich denke, der richtige Weg, dass in mehr deklarative Weise zu tun ist:

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

Sie darüber, ob fragen Unter der Annahme, können Sie Zugriff auf die angehängten Eigenschaften eines Elements extern/dynamisch, dann ja.

Beispiel:

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

Wenn Sie ein Element über den Zugriff auf mit der

< "< element type >" in "< parent element type >" >
Syntax sprechen, dann nicht. Das lässt sich nicht interpretieren.

Verwandte Themen