[英]Qt Quick 2 Qml: Place text exactly in center of circle
我正在尝试将文本恰好放在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坐标上)。 换句话说:当您在圆上拖动时,居中字符会稍微移动。
问候,
如果要放置一个项目,例如说项目A,位于另一个项目的确切中心,则应关闭A的anchors.alignWhenCentered
(默认情况下为true,以便使项目清晰绘出)。
这是我的方法,虽然不是很优雅,但是可以用...
Text {
y: -4
text: "A"
color: "white"
font.pixelSize: 20
anchors.horizontalCenter: rect.horizontalCenter
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.