2016-08-22 6 views
2

ラップを使用しているQML Textオブジェクトの周りに長方形を描きたいと思います。 TextMetricsは理想的ですが、ラップされたテキストをサポートするようには見えません。ラップされたテキストのバウンディングボックス

Textオブジェクトにテキストがどのようにレイアウトされているかを測定するにはどうすればよいですか?ラッピングロジックと一致し、TextMetricsFontMetricsを使用して手動でオフセットを計算する必要がありますか?

答えて

3

あなたはcontentWidthcontentHeightを使用することができます。

Text { 
    text: "..." 
    wrapMode: Text.Wrap 

    Rectangle { 
     border.color: "red" 
     color: "transparent" 
     width: parent.contentWidth 
     height: parent.contentHeight 
    } 
} 
+0

私は 'テキスト{幅がある場合:400;高さ:400; wrapMode:Text.WordWrap; text: "hi"} '四角形は単語にあてはまるのではなく、400x400の正方形になります。 – Phrogz

+0

[contentWidth](http://doc.qt.io/qt-5/qml-qtquick-text.html#contentWidth-prop)と[contentHeight](http://doc.qt.io/qt -5/qml-qtquick-text.html#contentHeight-prop)。 – jpnurmi

+0

回答が更新されました:) – jpnurmi

関連する問題