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 快捷鍵 控件切換的順序(獲得焦點)
PyQt5(2)——調整布局(布局管理器)第一個程序