您好,登錄后才能下訂單哦!
這篇文章主要講解了“pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件”吧!
一、相對布局與絕對布局
相對布局
布局中的控件可以隨著窗體的變化而變化。
布局中的控件之間的距離可以按照比例來調(diào)節(jié)。
絕對布局與相對布局的不同
1.絕對布局是直接將控件載入到窗體的位置就可以了。一般直接采用move函數(shù)移動到指定的位置后不變。
2.相對布局是要將控件放到盒布局中。一般是還要加入一個盒布局QHboxlayout(水平方向)Qvboxlayout (垂直方向),網(wǎng)格布局(Qgridboxlayout)
二、需要使用的組件或控件
QLineEdit控件
單行輸入框:只能輸入一行的文本編輯框。
QHBoxlayout水平盒布局
記憶方式:看H中的橫線,就認(rèn)為是水平布局。
三、布局排布
利用類似彈簧功能:就是直接使用盒布局的addstretch方法就可以了。
addstretch函數(shù)還可以對空白部分進(jìn)行比例分割。
使用格式:
布局盒子.addstretch(彈簧比例)
彈簧比例:是指在窗體中空白布局進(jìn)行指定的比例分割。
四、總結(jié)強(qiáng)調(diào)
1.掌握相對布局與絕對布局的區(qū)別。
2.掌握相對布局中的水平盒布局與垂直盒布局。
3.掌握盒布局中的控件比例排布的關(guān)系。
本節(jié)知識源代碼:
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中窗體的絕對布局和相對布局以及所需要的組件或控件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對pyqt5中窗體的絕對布局和相對布局以及所需要的組件或控件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。