1. 程式人生 > >[Qt Creator 快速入門] 第4章 佈局管理

[Qt Creator 快速入門] 第4章 佈局管理

第3章講述了一些視窗部件,當時往介面上拖放部件時都是隨意放置的,這對於學習部件的使用沒有太大的影響,但是,對於一個完善的軟體,佈局管理卻是必不可少的。 無論是想要介面中部件有一個很整齊的排列,還是想要介面能適應視窗的大小變化,都 要進行佈局管理。Qt中主要提供了 QLayout 類及其子類來作為佈局管理器,它們可以實現常用的佈局管理功能,QLayout及其子類的關係如圖4 - 1所示。


圖4-1 QLayout類關係圖

4.1 佈局管理系統

Qt的佈局管理系統提供了簡單而強大的機制來自動排列一個視窗中的部件,確保它們有效地使用空間。Qt包含了一組佈局管理類來描述怎樣在應用程式的使用者介面中對部件進行佈局,比如QLayout的幾個子類,這裡將它們稱作佈局管理器。

所有 QWidget 類的子類的例項(物件)都可以使用佈局管理器來管理位於其中的子部件, QWidget::setLay0ut()函式可以在一個部件上應用佈局管理器。一旦一個部件上設定了佈局管理器,那麼它會完成以下幾種任務:

  • 定位子部件;
  • 感知視窗預設大小;
  • 感知視窗最小大小;
  • 改變大小處理;
  • 當內容改變時自動更新:
    • 字型大小,文字或子部件的其他內容隨之改變;
    • 隱藏或顯示子部件;
    • 移除一個子部件。

4.1.1 佈局管理器

11