天天看點

Qt Designer 設計PyQt5界面時自适應設定

最近在學習PyQt5,學習推薦知乎專欄PyQt5圖形界面程式設計 

主要是有Gif看他們是怎麼用Qt Designer 設計的。

今天遇到了一個問題,就是在使用布局的時候,一直沒有找到自适應選項。就是如果背景縮小時,前面的控件會被遮住,如下圖右邊: 

Qt Designer 設計PyQt5界面時自适應設定

最終找到這篇文章,有了思路Qt Creator 窗體控件自适應視窗大小布局

1. 全局自适應

在空白的地方點選右鍵》布局》垂直布局, 

不過參考文檔中說要選擇》在窗體布局中布局,我這裡不行,選擇後會自動縮小到最小。

Qt Designer 設計PyQt5界面時自适應設定

但是我選擇 垂直、水準、網格布局,都可以布滿整個頁面 

Qt Designer 設計PyQt5界面時自适應設定

2. 局部自适應

由于空間中還有幾個布局控件嵌套,如果需要調整其中的小控件,如下圖中月曆吧另一個TextLabel擠到了一邊,想調整到兩邊一樣大,滑鼠拖動邊框已經不行了。 

Qt Designer 設計PyQt5界面時自适應設定

如果想讓兩個都居中,隻能在屬性中設定了。将兩個控件的sizePolicy屬性Preferred改為Expanding。其實改右邊TextLabel就好,不過為了保險起見,兩邊都修改把。

最終調整如下圖所示 

Qt Designer 設計PyQt5界面時自适應設定

當然,有的不一定要居中,比如需要7:3的比例,一下有幾個辦法: 

Qt Designer 設計PyQt5界面時自适應設定

(1)修改maxinumSize的寬度,固定在一個值,不過貌似這樣就不會随着變化了。 

(2)修改sizePolicy的水準伸展,我實驗了,TextLabel改為1 時,會變大;不過月曆的屬性改了不會變化。 

(3)添加 Spacer空間,讓他們隔開,如下圖所示: 

Qt Designer 設計PyQt5界面時自适應設定
Qt Designer 設計PyQt5界面時自适應設定

3. 局部中局部控件大小自适應

從上圖中,我們看到月曆上面的Button控件和月曆一樣大, 怎麼變小呢,除了用Space将兩邊壓縮,還有一種方法,在button上點選右鍵,在Layout Alignment中選擇Center Horizontally,就可以居中了。

Qt Designer 設計PyQt5界面時自适應設定

效果如下圖所示: 

Qt Designer 設計PyQt5界面時自适應設定

當然,PyQt5的布局還有很多技巧,大家可以多多交流~

--------------------- 

作者:loovelj 

來源:CSDN 

原文:https://blog.csdn.net/loovelj/article/details/79529625 

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

以上是轉載的部分 

使用QT designer 執行的時間,記錄的一些小結  

標明要進行布局的按鍵 ,然後點選上面的布局 ,實作的是局部的布局

Qt Designer 設計PyQt5界面時自适應設定

不同标簽之間使用布局

Qt Designer 設計PyQt5界面時自适應設定

全局布局   

Qt Designer 設計PyQt5界面時自适應設定

預覽的時間,視窗最大化的時間 ,自動填充到最大

Qt Designer 設計PyQt5界面時自适應設定

如果沒有設定全局布局的話, 就不會出現自動适配的情況

Qt Designer 設計PyQt5界面時自适應設定

預覽 

Qt Designer 設計PyQt5界面時自适應設定