我想将RowLayout中的最后一个项目向右对齐,但是即使RowLayout的宽度大于所有子项的宽度,该项目也保持在其他项目之后。
如果我使用anchors.right:parent.right
可以正常工作,但是会收到警告。
ToolBar {
height: globals.toolBar.height
width:parent.width
background: Rectangle {
anchors.fill: parent
color:"white"
}
RowLayout {
id: row
anchors.fill: parent
Button{
Layout.alignment: Qt.AlignLeft
contentItem: Image {
source: "images/iconmenu.png"
}
}
Button {
Layout.alignment: Qt.AlignLeft
contentItem: Image {
source: "images/iconget.png"
}
ToolTip.text: qsTr("Get Data from Panel")
ToolTip.visible: hovered
}
Button {
id:buttonAbout
Layout.alignment:Qt.AlignRight
font.family: fontAwesomeSolid.font
width:15
height: 15
text: "\uf129"
ToolTip.text:qsTr("about")
ToolTip.visible: hovered
contentItem: Text {
anchors.fill:buttonAbout
anchors.right:buttonAbout.right
anchors.topMargin: 3
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCente
text: buttonAbout.text
}
background:
Rectangle{
width:20
height: 20
anchors.right: parent.right
anchors.topMargin: 20
radius:10
border.width: 1
border.color:"gray"
}
onClicked: popup.open()
}
Item {
Layout.fillWidth: true
}
}
}
这是我想要的
答案 0 :(得分:1)
似乎Row和RowLayout不允许这样存在空白空间。但这可以使用执行fillwidth:true
的组件来解决。 Item{
Layout.fillWidth: true
height: buttonAbout.implicitHeight
Button{
id:buttonAbout
}
}
答案 1 :(得分:0)
我认为这是最终的最佳解决方案:
Button{
id:buttonAbout
Layout.alignment: Qt.AlignRight
}