如何获取 QML 中按钮文本字符串的像素长度?

如何获取 QML 中按钮文本字符串的像素长度?

我需要知道按钮文本的长度(以像素为单位)。该怎么做?

答案1

请看以下代码片段:

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    width: 160
    height: 160

    Button {
        id: my_button
        Text {
            id: my_text
            anchors {centerIn: parent }
            text: my_button.width + " x " + my_button.height
        }
        Component.onCompleted: console.log(my_text.width)
    }
}

按钮的默认文本属性只是一个字符串,并将继承按钮组件上应用的样式。

要获取像素中的字符串长度,请使用按钮内的专用文本元素,以便可以像这样访问其像素宽度:my_text.width

使用 qmlscene 运行上述代码会41.953125在标准输出中记录字符串“80 x 40”

相关内容