Qt 行布局中带折叠的QML文本对齐

Qt 行布局中带折叠的QML文本对齐,qt,qml,Qt,Qml,我想在行布局中对齐不同的文本,如下图 这是我的密码 Rectangle { id:root anchors.fill: parent color: "black" RowLayout { ColumnLayout { id:col

我想在行布局中对齐不同的文本,如下图

这是我的密码

        Rectangle {
            id:root
            anchors.fill: parent
            color: "black"
            RowLayout
            {
                ColumnLayout
                {
                    id:col
                    Text {
                        text: "t1"
                        font.pixelSize:root.height/4
                        color: "white"
                    }
                    Text {
                        id:txt
                        text: "t2"
                        font.pixelSize:root.height/4
                        color: "white"
                    }
                }
                Text {
                    id:txt3
                    text: "t3"
                    font.pixelSize:root.height
                    color: "white"
                }
            }

        }
但我无法用t3调整t2基线(我希望t2和t3从底部的同一行开始),但我的代码的结果是:


如果对较小的文本不使用
列布局
,则可以将较小的文本与较大的文本对齐:


布局中的锚定?坏主意,破坏整个布局的感觉在水平布局中是一个垂直锚,所以它很好。它是一个组件!我想在一个转发器中用不同的字体大小重复使用它,但也要使用相同的基线!那么问题是什么?(顺便问一下,感叹号真的有必要吗?)Re:这是水平布局中的垂直锚:这似乎是对齐基线的好方法,但Qt在运行时仍然给我们一个警告。有人有更新的警告问题解决方案或解决方法吗?这不会像OP的第一张图片中所示对齐文本的基线。确实有。ColumnLayout和Text与RowLayout底部对齐,我想这取决于默认的字体系列;如果我将字体大小更改为
font.pixelSize:root.height*0.97
,我可以使其在显示器上对齐。依赖于它在所有系统上都是一样的是一个坏主意。
import QtQuick 2.0
import QtQuick.Window 2.0
import QtQuick.Layouts 1.0

Window {
    id: window
    width: 300
    height: 300
    color: "black"
    visible: true

    RowLayout {
        id: root

        Text {
            id: txt
            text: "t2"
            font.pixelSize: window.height / 4
            color: "white"
            anchors.baseline: txt3.baseline

            Text {
                text: "t1"
                font.pixelSize: window.height / 4
                color: "white"
                anchors.bottom: parent.top
            }
        }
        Text {
            id: txt3
            text: "t3"
            font.pixelSize: window.height / 1.5
            color: "white"
        }
    }
}
Rectangle
    {
        id:root
        anchors.fill: parent
        color: "black"
        RowLayout
        {
            anchors.fill: parent
            ColumnLayout
            {
                Layout.fillHeight: true
                Layout.alignment: Qt.AlignBottom
                id:col
                Text {
                    text: "t1"
                    font.pixelSize:root.height/4
                    color: "white"
                }
                Text {
                    id:txt
                    text: "t2"
                    font.pixelSize:root.height/4
                    color: "white"
                }
            }
            Text {
                Layout.fillHeight: true
                Layout.alignment: Qt.AlignBottom
                id:txt3
                text: "t3"
                font.pixelSize:root.height
                color: "white"
            }
        }
    }