2013-06-12 57 views
0

我正在開發Qt應用程序,目前它正在進行內部測試。該公司的一名成員將Windows配置爲顯示比正常大小更大的文本,這打破了我的用戶界面。關於頁,例如,目前看起來是這樣的:Qt中的自動調整大小標籤

Normal appearance

,但在他的設置,如下所示(請注意裁剪文本):

Large text appearance

從C#即將/ Winforms背景,我很驚訝,我似乎無法找到一些易於配置的標籤屬性,如Form.AutoSize,它會自動調整標籤大小以適應其包含的文本。我試過與sizePolicy,scaledContents和其他一些屬性混淆,但似乎沒有人這樣做。

我遇到不同的線程(如this one),它給出指令,用於縮放文本標籤,但我想做相反 - 縮放標籤文本,以方便那些有像我的同事一樣放大文字設置。有沒有一個簡單的方法來做到這一點?

+1

你應該使用的佈局:http://qt-project.org/doc/qt-4.8/layout.html – Amartel

+0

QLabel必須默認支持這個(如果投入當然佈局)。您是否使用此表單的佈局? –

回答

1

這個問題至少有三種解決方案。

  1. 使用佈局。它們的內容根據窗口的大小進行縮放。

  2. 製作一個代碼,只要窗口大小發生變化就執行該代碼。在該代碼中,您將獲得窗口中最長文本的寬度(How?)(another way),然後將窗口設置得比這更寬。

  3. 與解決方案#2中的操作相同,但僅在顯示對話框時執行代碼。之後,改變窗口屬性,使其大小不能改變。

+0

佈局效果很好。謝謝! –