当我在其中添加一个子项时将Flickable
其锚定在整个控件的左侧,但我希望flickable
将子项锚定在整个控件的右侧(我认为当 flickable 内部有任何内容时,它的 flickableItemimplicitWidth 会影响整个控件的宽度,这就是为什么我不能使用anchors.right = parent.right
),在 flickable 中没有layoutDirection
属性Flickable
并且LayoutMirroring
不工作,我如何强制 Flickable 从其身体的右边距绘制孩子?
这是我的轻弹控件:
// ScrollableItem.qml
Flickable{
id:root
contentWidth: pane.implicitWidth
contentHeight: pane.implicitHeight
boundsBehavior: Flickable.StopAtBounds
flickableDirection: Flickable.AutoFlickIfNeeded
default property alias content : pane.contentItem
Pane{
id:pane
}
ScrollIndicator.vertical: ScrollIndicator{
}
ScrollIndicator.horizontal: ScrollIndicator{
}
}
我像这样使用它:
ScrollableItem{
width : parent.width
height : parent.height
RowLayout{
spacing: 500
layoutDirection: Qt.RightToLeft
Button{
}
Button{
}
Button{
}
}
}
Qml 不在乎width : parent.width
,ScrollableItem
如果我在控件内设置宽度,它不会轻弹,我也尝试在孩子中使用 anchors.right,但没有用。有没有办法强迫可轻弹的孩子从屏幕右侧流出?
你看到窗格锚定在哪里了吗?将窗格锚定到右侧是不可能的,并且没有布局方向,窗格的宽度取决于子宽度,这是一个 rowLayout,因此如果窗格宽度低于可滑动宽度,它将始终绘制在我想要绘制的可滑动的左边缘flickable 的右边缘