這篇文章主要講解了“pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件”吧!
一、相對布局與絕對布局
相對布局
布局中的控件可以隨著窗體的變化而變化。
布局中的控件之間的距離可以按照比例來調節。
絕對布局與相對布局的不同
1.絕對布局是直接將控件載入到窗體的位置就可以了。一般直接采用move函數移動到指定的位置后不變。
2.相對布局是要將控件放到盒布局中。一般是還要加入一個盒布局QHboxlayout(水平方向)Qvboxlayout (垂直方向),網格布局(Qgridboxlayout)
二、需要使用的組件或控件
QLineEdit控件
單行輸入框:只能輸入一行的文本編輯框。
QHBoxlayout水平盒布局
記憶方式:看H中的橫線,就認為是水平布局。
三、布局排布
利用類似彈簧功能:就是直接使用盒布局的addstretch方法就可以了。
addstretch函數還可以對空白部分進行比例分割。
使用格式:
布局盒子.addstretch(彈簧比例)
彈簧比例:是指在窗體中空白布局進行指定的比例分割。
四、總結強調
1.掌握相對布局與絕對布局的區別。
2.掌握相對布局中的水平盒布局與垂直盒布局。
3.掌握盒布局中的控件比例排布的關系。
本節知識源代碼:
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QVBoxLayout,QHBoxLayout,QGridLayout,QLineEdit,QLabel,QPushButton
class MyljyClass(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("劉金玉編程")
self.setGeometry(app.desktop().width()/2-self.width()/2,50,400,300)
lblCode=QLabel("驗證碼",self)
leCode=QLineEdit(self)
btnCode=QPushButton("驗證",self)
# leCode.move(40,0)
# btnCode.move(190,0)
# hlayout=QHBoxLayout(self)
# hlayout.addWidget(lblCode)
# hlayout.addWidget(leCode)
# hlayout.addWidget(btnCode)
vlayout=QVBoxLayout(self)
# vlayout.addLayout(hlayout)
vlayout.addWidget(lblCode)
vlayout.addStretch(1)
vlayout.addWidget(leCode)
vlayout.addStretch(1)
vlayout.addWidget(btnCode)
vlayout.addStretch(2)
self.show()
if __name__=="__main__":
app=QApplication(sys.argv)
mljy=MyljyClass()
app.exec_()
感謝各位的閱讀,以上就是“pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件”的內容了,經過本文的學習后,相信大家對pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。