2013-05-12 58 views
8

我有一個QT窗體,它具有幾百個窗口小部件,並且一次性使它們都適合屏幕(根據需要),我需要使它們變得非常小。表格在使用時將具有固定(不可調整大小)的尺寸。我可以調整窗口小部件的大小到所需的高度/寬度,並使用適當的(小)字體大小,使它們的大小策略「固定」等。但是,只要我開始將它們放入佈局中,它們就會發出一些更大的最小值尺寸。這對於小部件的高度尤其如此,但寬度有時也會受到影響。在QT設計師佈局中修復窗口小部件的尺寸

,如果我知道怎麼做的下列三種情況之一我的問題將得到解決:爲小部件

  1. 更改佈局的默認最小大小(S)。

  2. 強制佈局不要更改小部件大小。

  3. 使用Qt設計器在網格狀格式中很好地對齊小部件而不使用佈局。

我搜索了廣泛的Qt設計師的文檔和SO,無濟於事。

幫助是極大的讚賞

回答

5

使用的佈局與代碼QWidget::setFixedSize(或替代你可以設置固定大小的策略在設計每個插件),也可以使用QLayout::setSizeConstraint

+2

我會嘗試設置小部件'尺寸政策「固定」(見問題)。但它不起作用。只要我在Qt Designer中應用佈局,小部件就會增長。不過,我後來發現,設置窗口小部件的最小和最大尺寸(除了它們的尺寸策略外)似乎也起作用。感謝提示我努力嘗試;-) – stefano 2013-05-12 17:49:32

+0

我沒有使用那麼多的固定大小的小部件,但是如果我沒有記錯的話,它們不應該增長(大小設置爲QLayout setter的大小參數或sizehint)大小應該足夠了,但是如果它們所在的佈局可以增加小部件之間的空間增長,那麼您確定沒有觀察到該行爲(嘗試使用具有可觀察邊距的小部件),或者您有一些自定義小部件?無論如何,看看你是否可以複製這個問題(做一個測試應用程序,所以你不要弄亂你的應用程序),也許在這裏發佈,所以我們可以看看。無論如何,我很高興我的評論有所幫助。 – Zlatomir 2013-05-12 18:14:10

+0

@stefano對於我來說,在適當的QWidget(可以是按鈕或其他)中設置qtcreator中的minimumSize和maximum size是足夠的。設置約束是沒有必要的 – Anonymous 2017-05-30 08:55:50