2016-03-31 22 views
1

テキストサイズがの幅を超えているかどうかを判断する最も良い方法は何ですか?QLabel? それに応じて、テキストサイズを変更しますか?動的テキストサイズQLabel

ワードラップオプションがtrueに設定されたQLabelを持っていますが、テキストが長すぎると左右からクロップされています。

+1

はレイアウトによって管理され、あなたのラベルウィジェットですか?その場合は、ウィンドウが常にすべての内容を保持するのに十分な大きさになるように、一番上のレイアウト( 'label-> widnow() - > layout()')に 'sizeConstraint'を設定する必要があります。 –

答えて

2

あなたはこのアプローチをしようとする場合があります:

QLabel label; 
QRect r = label.fontMetrics().boundingRect("My text")); 
int textWidth = r.width(); 
+0

おそらく、無効になっているワードラップでのみ機能します。 – Hcorg

+0

@Hcorg、テキストの幅はQLabelのプロパティに依存しません。 – vahancho

+0

はい、私は知っています。つまり、複数行のテキストを保持できるラベルの場合、ワードラップを使用して壊れてしまいます。単一行ラベルの場合は、label.width()と比較してfontMetrics()... width()が役立ちます。 – Hcorg

関連する問題