qml rectangle的宽度如何匹配内置文字的宽度
时间: 2024-05-01 17:22:11 浏览: 249
Qt Qml 可拖动设置Rectangle大小Demo
可以使用`TextMetrics`来获取文本的宽度,然后将矩形的宽度设置为相应的值。
以下是一个示例:
```qml
Rectangle {
id: rect
color: "lightblue"
border.color: "black"
border.width: 2
height: 50
width: textMetrics.width + 10 // 矩形的宽度为文本宽度加上10个像素的边距
Text {
id: text
text: "Hello World"
font.pixelSize: 24
anchors.centerIn: parent
}
Component.onCompleted: {
var metrics = Qt.fontMetrics(text.font)
var width = metrics.width(text.text)
console.log("Text width:", width)
}
}
```
在这个例子中,我们首先创建一个矩形和一个文本,并将文本居中放置在矩形中。然后使用`TextMetrics`计算文本的宽度,并将矩形的宽度设置为文本宽度加上10个像素的边距。最后,在`Component.onCompleted`中打印出文本的宽度以供参考。
阅读全文