2015-04-07 6 views
7

Funziona come previsto con , ma non con RowLayout. Perché? Qual è la differenza tra i due?Qual è la differenza tra Row e RowLayout?

ApplicationWindow {  
    title: "Testing" 
    width: 640 
    height: 480 

    //RowLayout { 
    Row {   
     anchors.fill: parent 

     Rectangle { 
      id: rect1 
      width: parent.width * 0.3 
      height: parent.height 
      color: "blue" 
     } 
     Rectangle { 
      height: parent.height 
      width: parent.width * 0.7 
      color: "red" 
     } 
    } 
} 
+0

si hanno più opzioni utilizzando 'RowLayout' come l'allineamento. Ma è preferibile usare 'Row' perché le prestazioni. –

+0

Possibile duplicato di [QML Row vs. RowLayout] (https://stackoverflow.com/questions/16914785/qml-row-vs-rowlayout) – CAMOBAP

risposta

14

è un Item Positioner. Gli oggetti posizionatore sono elementi contenitore che gestiscono le posizioni degli elementi in un'interfaccia utente dichiarativa.

RowLayout è parte di Qt Quick Layouts. Gestiscono sia le posizioni che le dimensioni degli elementi su un'interfaccia utente dichiarativa e sono adatti per interfacce utente ridimensionabili.

il codice con RowLayout dovrebbe essere simile a questo:

RowLayout{ 
    anchors.fill: parent 
    spacing: 0 
    Rectangle{ 
     Layout.fillHeight: true 
     Layout.preferredWidth: parent.width * 0.3 
     color: "blue" 
    } 
    Rectangle{ 
     Layout.fillHeight: true 
     Layout.fillWidth: true 
     color: "red" 
    } 
}