繁体   English   中英

Qt Quick 2 Qml:将文本准确放置在圆心内

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM