2017-09-19 4 views
0

J'ai une situation comme celle-ci:Avoir quelques éléments d'une colonne qml/de qtquick2 dans un fichier séparé

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} 
} 

Puis-je obtenir les résultats suivants avec un élément QML personnalisé?

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

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

Comme je comprends QML, des éléments personnalisés (ou éléments QML en général) doivent avoir qu'une seule racine unique, mais il serait très utile en cas de colonnes, des lignes et des grilles (ou positionneurs en général) à être capable de réutiliser certaines parties pour par exemple D'autres colonnes, donc j'espère que je manque juste de quelques connaissances sur la façon d'y parvenir.

Répondre

2

Pas vraiment, mais vous pouvez:

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

ItemsOneToFour{ 
Item{id:itemA} 
} 

ItemsOneToFour{ 
Item{id:itemB} 
} 

Voilà comment cela fonctionne réellement. D'un autre côté, il aurait été bien si QML supporté les interfaces, mais ce n'est pas le cas. Donc, l'agrégation est le chemin à parcourir.

+0

Ah, bien sûr, n'a pas pensé à cette approche –