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"
}
}
}