使用Qt Designer進行布局

2022-08-18 10:57:11 字數 1671 閱讀 4967

在使用form之前,需要將form上的物件放置到布局中。這確保在應用程式中預覽或使用form時,物件將正確顯示。在布局中放置物件還可以確保在調整窗體大小時它們也能正確調整大小。

應用和打斷布局

管理物件的最簡單方法是對一組現有物件應用布局。通過選擇需要管理的物件並使用主工具欄、選單或上下文選單應用到標準布局來實現的。

一旦將窗體/控制項(widgets)插入到布局中,就不可能單獨移動和調整它們的大小,因為布局本身控制著其中每個控制項的幾何形狀,並考慮到spacers提供的提示。在這中情況下,您必須打破布局並手動調整每個物件的幾何形狀,或者通過調整布局大小來影響控制項的幾何形狀。

要打破布局,請按選中布局並按住ctrl+0(注意是0)或從窗體的上下文選單、窗體選單或主工具欄中選擇break layout。還可以從布局中新增和刪除間隔符(spacers),以影響小部件的幾何形狀。

在物件中插入布局

將物件插入到現有布局可以通過拖拽實現,在拖拽的時候,布局中會顯示乙個藍色游標,以指示物件將被新增到何處。

如圖在button3拖拽到button2下面時,會顯示藍色游標,這是放開左鍵,button3就會放置到button2下面

設定頂層布局

可以通過清除選擇(單擊窗體上的滑鼠左鍵)並應用布局來設定窗體的頂層布局。頂層布局是確保控制項在視窗調整大小時能夠正確調整大小。要檢查是否設定了頂層布局,預覽widget並嘗試通過拖動來調整視窗的大小。

在上圖中如果我們沒有設定頂層布局,那麼在預覽的時候三個按鍵的大小不會隨者視窗的改變而改變。我們觀察右側,會發現有個紅色圓圈標識。

空白處右鍵lay out->隨便選擇一種布局,紅色圓圈標識消失,並且預覽後你會發現button的大小會隨者窗體大小而變化

布局選擇——可以通過qt designer左邊的控制項盒子(widget box->layouts)

或者右鍵

垂直和水平布局

在窗體上排列物件的最簡單方法是將它們放置在水平或垂直布局中。水平布局確保內部小部件水平對齊;垂直布局確保它們垂直對齊。水平和垂直布局可以組合和巢狀到任何深度。但是,如果您需要對物件的位置有更多的控制,最好使用網格布局(grid layout)。

網格布局(grid layout)

複雜的**布局可以通過在網格布局中放置物件來建立。這種布局讓表單設計人員可以更自由地在表單上安排小部件,但會導致更不靈活的布局。然而,對於某些形式布局,網格布局比水平和垂直布局的巢狀布局更適合。

拆分器布局(splitter layouts)

管理窗體上物件布局的另一種常見方法是將它們放在拆分器中。這些分配器以與正常布局相同的方式水平或垂直地排列物件,但也允許使用者調整分配給每個物件的空間數量。

儘管qsplitter是乙個容器控制項,但qt designer將splitter物件視為應用於現有控制項的布局。要將一組控制項放到splitter中,請按此處描述的方式選擇它們(控制項放置好後,空白處點選右鍵拖動到控制項另一邊的空白處選擇控制項,然後右鍵),然後使用適當的工具欄按鈕、鍵盤快捷方式或布局上下文選單項應用splitter布局。

表單布局(form layout)

從qt4.4開始,又加入了乙個layout類——qformlayout。這個類以兩列的形式管理小部件;左列包含標籤,右列包含控制項,如line edits, spin boxes等。qformlayout類遵循各種平台外觀指導原則,支援對長行進行包裝。

快捷鍵除了標準的工具欄和上下文選單項之外,還有一組鍵盤快捷方式,用於在控制項上應用布局。

使用Qt Designer生成的介面進行國際化程式設計

qt designer國際化需要做的操作 具體步驟如下 1 新建工程檔案 pro,檔案格式如下 sources main.py main.py檔案為匯入main.ui 檔案的py檔案 forms main.ui main.py檔案是用designer生成的ui檔案 translations zh c...

Qt designer 工具使用

參考 建立了乙個login.ui檔案後按照該博文的方法在python中實現,如下,新增了自己學習的注釋 匯入程式執行必須模組 import sys pyqt5中使用的基本控制項都在pyqt5.qtwidgets模組中 匯入designer工具生成的login模組 from login import ...

使用Qt Designer建立介面

在部落格 在qt中使用c 建立介面 這是傳統的gui程式開發方式,只使用c c 既負責設計介面,也負責處理業務邏輯。介面是使用者能夠直接看到的,稱為 前端 業務邏輯的處理使用者看不到,在背後默默進行,稱為 後台 使用qt designer qt designer 是與 qt 配套的介面設計工具,使用...