最近在學習PyQt5,學習推薦知乎專欄PyQt5圖形界面程式設計
主要是有Gif看他們是怎麼用Qt Designer 設計的。
今天遇到了一個問題,就是在使用布局的時候,一直沒有找到自适應選項。就是如果背景縮小時,前面的控件會被遮住,如下圖右邊:

最終找到這篇文章,有了思路Qt Creator 窗體控件自适應視窗大小布局
1. 全局自适應
在空白的地方點選右鍵》布局》垂直布局,
不過參考文檔中說要選擇》在窗體布局中布局,我這裡不行,選擇後會自動縮小到最小。
但是我選擇 垂直、水準、網格布局,都可以布滿整個頁面
2. 局部自适應
由于空間中還有幾個布局控件嵌套,如果需要調整其中的小控件,如下圖中月曆吧另一個TextLabel擠到了一邊,想調整到兩邊一樣大,滑鼠拖動邊框已經不行了。
如果想讓兩個都居中,隻能在屬性中設定了。将兩個控件的sizePolicy屬性Preferred改為Expanding。其實改右邊TextLabel就好,不過為了保險起見,兩邊都修改把。
最終調整如下圖所示
當然,有的不一定要居中,比如需要7:3的比例,一下有幾個辦法:
(1)修改maxinumSize的寬度,固定在一個值,不過貌似這樣就不會随着變化了。
(2)修改sizePolicy的水準伸展,我實驗了,TextLabel改為1 時,會變大;不過月曆的屬性改了不會變化。
(3)添加 Spacer空間,讓他們隔開,如下圖所示:
3. 局部中局部控件大小自适應
從上圖中,我們看到月曆上面的Button控件和月曆一樣大, 怎麼變小呢,除了用Space将兩邊壓縮,還有一種方法,在button上點選右鍵,在Layout Alignment中選擇Center Horizontally,就可以居中了。
效果如下圖所示:
當然,PyQt5的布局還有很多技巧,大家可以多多交流~
---------------------
作者:loovelj
來源:CSDN
原文:https://blog.csdn.net/loovelj/article/details/79529625
版權聲明:本文為部落客原創文章,轉載請附上博文連結!
以上是轉載的部分
使用QT designer 執行的時間,記錄的一些小結
標明要進行布局的按鍵 ,然後點選上面的布局 ,實作的是局部的布局
不同标簽之間使用布局
全局布局
預覽的時間,視窗最大化的時間 ,自動填充到最大
如果沒有設定全局布局的話, 就不會出現自動适配的情況
預覽