Layouts 提供彈性化的GUI 設計,讓UI 隨風格、螢幕方向和大小、字體大小等彈性更新。尤其用於支援多國語言UI 上,自動將轉譯的文字在固定範圍內截斷 (truncate and display “...”);以reversed widgets 機制,讓GUI 輕易支援「由右到左書寫 (right-to-left writing)」的語言。Layouts 也可以根據包含關係 (nested layouts),自動調整child widgets 大小。為了整齊的放置Design Form 內的各widget objects,Qt 提供了四種基本的Layouts,在Qt Designer 中可以很容易配置widgets 的位置。
以拖拉的方式將「Layouts widgets」加入Form 之後,會看到「矩形方框」。利用拖拉「矩形方框」的方式,將想要進行Layouts 調整的widgets 納入其中。也可以直接拖拉要加入Layouts 的widgets,進入「矩形方框」。接著按下滑鼠右鍵選取Lay out > layout 的方式。此範例分別把 (nameLabel, nameEdit) 和 (mailLabel, mailEdit) 用HorizontalLayout (QHBoxLayout) 包起來;或選用 “Lay Out Horizontally”,Qt Designer 會建立對應之 “QHBoxLayout” 物件,將widgets 放進Layouts 中。
建立完Layout 後,將每個Layouts widget 取的適當的名稱。被加進Layout的物件會被視為屬於Layouts 的物件,從圖可以看到nameLabel和nameEdit 包含在nameLayout 下面,mailLabel 和mailEdit 包含在mailLayout下面。
要取消Layouts 的話,在widgets 上按滑鼠右鍵點選Lay out > Break Layout。就可以將Layouts 取消掉。