2016-03-04 62 views
2

,以填补余下的面积我有叫MyComponent的一个QML组件和我有以下实例:获取锚父

MyComponent { 
    id: rightComponent 

    SettingsScreenHeader { 
     id: settingsHeader 
    } 

    SettingsScreen { 
     id: settingsScreen 
    } 

    StackView { 
     id: settingsStack 
     anchors.fill: parent 
     initialItem: settingsScreen 
    } 
} 

SettingsScreenHeaderSettingsScreen其他的两个组成部分。当我在StackView对象中执行anchors.fill: parent时,它会占用所有空间和标题对象。有没有办法告诉它填补父母的所有剩余空间?

+0

你想把它们作为一列放置吗? – skypjack

+0

我猜想,但我不希望Column对象,因为我发现它很难再添加MouseArea到它,我永远不知道我是否将在未来需要。 – Luca

+0

其实我现在只是尝试了Column控件,即使使用我当前的组件,它也会遇到由于动态文本和图像分配造成的锚点和内容问题... – Luca

回答

2

尝试使用ColumnLayout

MyComponent { 
    id: rightComponent 

    ColumnLayout { 
     anchors.fill: parent 

     SettingsScreenHeader { 
      id: settingsHeader 
      Layout.fillWidth: true 
     } 

     SettingsScreen { 
      id: settingsScreen 
      Layout.fillWidth: true 
     } 

     StackView { 
      id: settingsStack 
      Layout.fillHeight: true 
      Layout.fillWidth: true 
      initialItem: settingsScreen 
     } 
    } 
} 

进一步的详情请参见documentation

+0

太棒了!谢谢。我不知道你在QML中有布局项目。我今天也只知道锚点! – Luca