PyQt5(2)——調整布局(布局管理器)第一個程序


我們拖拽一個UI文件,轉為PY文件后生成一個類Ui_MainWindow

此時,我們新建一個文件,用來控制業務邏輯(繼承界面中的類),跟界面分開,這樣我們就完成了界面和邏輯相分離(這段代碼使用率基本100%,牢牢記住)。

 1 __author__ = "WSX"
 2 import sys
 3 from PyQt5.QtWidgets import QApplication, QMainWindow
 4 from first import *            #導入了Ui_MainWindow類
 5 
 6 class MyMainWindows(QMainWindow, Ui_MainWindow):   #新建一個類  Ui_MainWindow 為first中的一個類
 7     def __init__(self,parent=None):
 8         super(MyMainWindows,self).__init__(parent)
 9         self.setupUi(self)
10 
11 if __name__ == "__main__":
12     #所有的PyQt5應用必須創建一個應用(Application)對象。
13     app = QApplication(sys.argv) #QApplication類管理GUI程序的控制流和主要設置,是基於QWidget的,為此特化了QGuiApplication的一些功能,處理QWidget特有的初始化和結束收尾工作。
14     mywin = MyMainWindows()
15     mywin.show()
16     sys.exit(app.exec_())

右擊運行,見效果

 

 

布局管理器用來管理空間之間的排版和布局(很重要,這個必須理解):

(從上往下依次為:垂直、水平、柵格、表單布局)

 

 

1. 絕對布局

 

Geometry 屬性用來控制布局,它在pyqt中主要用來控制 絕對坐標和自身大小。

1 self.pushButton = QtWidgets.QPushButton(self.centralwidget)
2 self.pushButton.setGeometry(QtCore.QRect(170, 170, 75, 23))
3 self.pushButton.setObjectName("pushButton")

這段代碼主要設置上面所說的屬性

 

2. 使用布局管理器布局

 

為什么要用布局管理器,我們覺得自己設計的界面不美觀時,每次都需要手動來調整控件的位置,十分的麻煩。並且布局管理器會根據窗口的縮放來動態改變空間大小。

因此學好布局管理器十分重要!!!!!!

    ① 垂直布局    大家可以自己拖拽四種布局方式來觀察代碼變化。

    ② 柵格布局

    ③ 水平布局(介紹一下下)

這是我們水平布局的四個控件

但是我們想讓他們中間留一點空隙。。。 挨的太近了。這時就需要這個控件了。哈哈哈

(Vertical spacer表示倆布局管理器 或者按鈕 水平 分開一點  , 

(Horizontal spacer 表示按鈕和布局管理器分開一點)

(Horizontal Line 表示分開不同的類)  注: 這些在運行時不會顯出來。

 

3.minimumsize 和 maixmumsize(設置控件在布局管理器中的最大個最小尺寸),簡單來說類似於 css 調整界面大小時,不會因為界面很小變為特別小。

 

4.sizepolicy

sizeHint(控件被期望的尺寸) 和 minisizeHint(控件被壓縮最小尺寸) 需要知道

sizepolicy的作用是,如果布局管理器滿足不了我們,我們就需要sizepolicy進行微調。

解釋一下這個吧。

Fixed: 代表控件具有sizeHint 所提示的尺寸並且不改變

 

 

 

還可以設置 Tab 快捷鍵 控件切換的順序(獲得焦點)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM