我正在尝试将文本准确地放在Qml中的圆心:
Rectangle {
id: rect
width: 20
height: 20
radius: width/2
color: "red"
anchors.verticalCenter: parent.verticalCenter
Label { // or Text
anchors.centerIn: parent // or anchors.fill: parent
text: "A"
color: "white"
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
}
//EDIT: For testing different locations:
MouseArea {
anchors.fill: parent
drag.target: rect
drag.axis: Drag.XAxis
}
}
问题在于文本略微偏离中心(向左和向下移动)。我测试了不同的尺寸和字符,但都表现出同样的问题。有没有更好的方法将文本准确放在中心?
[编辑] :字体偏移似乎与屏幕上的位置有关(但我无法确定是什么原因造成的 - 它发生在奇数和偶数x坐标上)。换句话说:当您在圆圈中拖动时,居中的角色会稍微移动。
此致
答案 0 :(得分:1)
如果你想把一个项目,比如项目A,放在另一个项目的确切中心,你应该关闭A anchors.alignWhenCentered
(默认情况下这是真的,以便使项目被绘制清脆)。
答案 1 :(得分:0)
这是我的方式,不是很优雅,但它有效...
Text {
y: -4
text: "A"
color: "white"
font.pixelSize: 20
anchors.horizontalCenter: rect.horizontalCenter
}