为什么Text的宽度/高度和锚点在QML中发生冲突?

时间:2013-11-25 07:18:22

标签: qt qml qtquick2

我想指定Text的宽度和高度,以便fontSizeMode:Text.Fit可以工作。但在那之后,文本的锚点将无法工作。怎么会发生这种情况?

Rectangle {
    width: 360; height: 360
    Rectangle {
        width: parent.width / 3; height: parent.height / 6
        anchors.centerIn: parent
        border{ color: "red"; width: 5 }
        Text {
            anchors {
                centerIn: parent
//                verticalCenter: parent.verticalCenter
//                horizontalCenter: parent.horizontalCenter
            }

            width: parent.width
            height: parent.height
            font.pixelSize: 50
            fontSizeMode: Text.Fit
            text: "Hello, world!"
        }
    }
}

1 个答案:

答案 0 :(得分:3)

嗯,他们工作正常。但是由于你设置了宽度和高度,centrerIn锚点不会改变任何东西,因为文本已经在父级中间。你应该设置对齐,以获得适当的效果:

Text {
    anchors.fill: parent
    font.pixelSize: 100
    fontSizeMode: Text.Fit
    horizontalAlignment: Text.AlignHCenter
    verticalAlignment: Text.AlignVCenter
    text: "Hello, world!"
}