2011-07-17 66 views
8

如何獲取要重新調整大小的QLabel?即使它意味着截斷其包含的文本?我有一個QLabel伸展一個Widget的整個水平空間。設置其文本時,我確保它被正確截斷,即得到它的FontMetrics和Width並使用metrics.elidedText()。啓用QLabel即使截斷文本也會縮小

但是,當用戶調整窗口小部件的大小時,Label不允許它進一步縮小,因爲它會截斷它的文本。

任何想法如何解決這個問題?我認爲最簡單的解決方案是以某種方式告訴QLabel總是收縮,然後捕獲調整大小事件並正確格式化文本 - 我只是不知道如何做第一部分(不同大小的策略不會幫助)

回答

8

雖然您提到設置尺寸策略沒有幫助,但將QLabel的水平尺寸策略設置爲QSizePolicy::Ignored應該告訴包含的佈局管理器忽略標籤中的任何最小尺寸提示。另一種方法是將QLabel的最小水平尺寸設置爲非零值,如1。如果這兩項都不起作用,則會有其他干擾。

+0

奇怪我試過忽略它,雖然它允許我正確縮小小部件,但它導致了一個奇怪的圖形外觀,因爲小部件不再填充完整的水平空間(我放的時候我完全忘記了它,很抱歉!)。我只是試了一遍,..它的工作 - 在德國,我們會說「Vorführeffekt」;)+1和接受 – Voo

+1

我喜歡看這個單詞:) –

相關問題