2011-07-17 6 views
8

QLabelのテキストを切り詰めることを意味しても、QLabelのサイズを変更する方法を教えてください。私は、ウィジェットの水平なスペース全体を伸ばしているQLabelを持っています。テキストを設定する際には、正しく切り詰められているかどうか、つまりFontMetricsとWidthを取得し、metrics.elidedText()を使用していることを確認します。テキストを切り捨ててもQLabelが縮小されるようにする

しかし、ユーザーがウィジェットのサイズを変更すると、ラベルはテキストを切り捨てるので、それ以上縮小することはできません。

これを解決する方法はありますか?私が考える最も簡単な解決策は、何とかQLabelに縮小をさせてから、サイズ変更イベントをキャッチしてテキストを正しくフォーマットするように指示することです - 最初の部分をどうやって行うのか分かりません(異なるサイズのポリシーは役に立たない)

答えて

8

サイズのポリシーを設定しても効果がありませんでしたが、QLabelの水平サイズポリシーをQSizePolicy::Ignoredに設定すると、ラベルから最小サイズのヒントを無視するようにレイアウトマネージャに指示する必要があります。別の方法として、QLabelの最小水平サイズを1のようにゼロ以外の値に設定することがあります。これらのどちらも機能しない場合は、干渉する何かがあります。

+0

私はIgnoredを試みましたが、ウィジェットが正しく縮小されると、ウィジェットが完全な水平スペースを埋めることがなくなり、奇妙なグラフィカルな外観になりました(投稿した時点で完全に忘れてしまったそれは申し訳ありません)!私はもう一度それを試してみました..それは動作します - ドイツ語では "Vorführeffekt"と言います)+1と受け入れた – Voo

+1

私はその言葉を見て楽しんで:) –