web-dev-qa-db-ja.com

QMLでボタンテキスト文字列のピクセル長を取得する方法は?

ボタンのテキストの長さをピクセル単位で知る必要があります。どうやってするか ?

3
user262898

次のコードスニペットを見てください。

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

ボタンのデフォルトのテキストプロパティは単なる文字列であり、Buttonコンポーネントに適用されるスタイルを継承します。

ピクセル単位の文字列の長さにアクセスするには、代わりにボタン内で専用のText要素を使用して、ピクセル幅にアクセスできるようにします:my_text.width

文字列「80 x 40」の標準出力でqmlsceneログ41.953125を使用して上記のコードを実行する

2
Sylvain Pineau