2017-09-19 3 views
0

ich eine Situation wie diese haben:Habe einige Elemente einer qml/qtquick2 Spalte in einer separaten Datei

Column{ 
Item{id:item1} 
Item{id:item2} 
Item{id:item3} 
Item{id:item4} 
Item{id:itemA} 
} 

Column{ 
Item{id:item1} 
Item{id:item2} 
Item{id:item3} 
Item{id:item4} 
Item{id:itemB} 
} 

Kann ich die folgenden mit einem benutzerdefinierten qml Element erreichen?

Column{ 
ItemsOneToFour{} 
Item{id:itemA} 
} 

Column{ 
ItemsOneToFour{} 
Item{id:itemB} 
} 

Wie ich verstehe qml, benutzerdefinierte Elemente (oder QML Elemente im Allgemeinen) benötigen nur eine einzige Wurzel haben, aber es wäre im Fall von Spalten, Zeilen und Gittern (oder Positionierer im Allgemeinen) wirklich hilfreich sein, in der Lage sein, einige Teile für z andere Spalten, so hoffe ich, dass ich nur etwas Wissen fehlt, wie man das erreicht.

Antwort

2

Nicht wirklich, aber man kann haben:

Column{ // ItemsOneToFour 
Item{id:item1} 
Item{id:item2} 
Item{id:item3} 
Item{id:item4} 
} 

ItemsOneToFour{ 
Item{id:itemA} 
} 

ItemsOneToFour{ 
Item{id:itemB} 
} 

Das ist, wie es tatsächlich funktioniert.

Nebenbei bemerkt wäre es nett gewesen, wenn QML Interfaces unterstützt hätte, aber es nicht. Also Aggregation ist der Weg zu gehen.

+0

Ah, natürlich, dachte nicht an diesen Ansatz –

Verwandte Themen