python GUI庫圖形界面開發(fā)之PyQt5布局控件QHBoxLayout詳細使用方法與實例
更新時間:2020年03月06日 12:45:50 作者:jia666666
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5布局控件QHBoxLayout詳細使用方法與實例,需要的朋友可以參考下
PyQt5布局控件QHBoxLayout簡介
采用QBOXLayout類可以在水平和垂直方向上排列控件,QHBoxLayout和QVBoxLayout類繼承自QBoxLayout
采用QHBoxLayout類,按照從左到右的順序來添加控件
QHBoxLayout類中常用的方法如下
| 方法 | 描述 |
|---|---|
| addLayout(self,stretch=0) | 在窗口的右邊添加布局,使用stretch(伸縮量)進行伸縮,伸縮量默認為0 |
| addWidget(self,QWidget.stretch,Qt.Alignmeny alihnment) | 在布局中添加控件 |
| stretch(伸縮量),只適用于QBoxLayout,控件和窗口會隨著伸縮量的變大而增大 | |
| alignment:指定的對齊方式 | |
| addSpacing(self,int) | 設置各控件的上下間距,通過該方法可以增加額外的控件 |
QHBoxLayout對齊方式參數(shù)
| 參數(shù) | 描述 |
|---|---|
| Qt.AlignLeft | 水平方向居左對齊 |
| Qt.AlignRight水平方向具有對齊 | |
| Qt.AlignCenter | 水平方向居中對齊 |
| Qt.AlignJustify | 水平方向兩端對齊 |
| Qt.AlignTop | 垂直方向靠上對齊 |
| Qt.AlignBottom | 垂直方向靠下對齊 |
| Qt.AlignVCenter | 垂直方向居中對齊 |
QHBoxLayout水平布局管理實例
import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QHBoxLayout , QPushButton
class Winform(QWidget):
def __init__(self,parent=None):
super(Winform,self).__init__(parent)
self.setWindowTitle("水平布局管理例子")
# 水平布局按照從左到右的順序進行添加按鈕部件。
hlayout = QHBoxLayout()
hlayout.addWidget( QPushButton(str(1)))
hlayout.addWidget( QPushButton(str(2)))
hlayout.addWidget( QPushButton(str(3)))
hlayout.addWidget( QPushButton(str(4)))
hlayout.addWidget( QPushButton(str(5)))
# todo 優(yōu)化1 設置控件間距
#hlayout.setSpacing(20)
self.setLayout(hlayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Winform()
form.show()
sys.exit(app.exec_())
運行效果圖

優(yōu)化一:設置各控件之間的間距
hlayout.setSpacing(20)

QHBoxLayout水平布局對齊方式實例
在某些情況下,需要將布局中的某些控件居中,俱下顯示,那么可以通過對齊方式參數(shù)Qt.Alignment來設置,示范如下
import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QHBoxLayout , QPushButton
from PyQt5.QtCore import Qt
class Winform(QWidget):
def __init__(self,parent=None):
super(Winform,self).__init__(parent)
self.setWindowTitle("水平布局管理例子")
self.resize(800, 200)
# 水平布局按照從左到右的順序進行添加按鈕部件。
hlayout = QHBoxLayout()
#水平居左 垂直居上
hlayout.addWidget( QPushButton(str(1)) , 0 , Qt.AlignLeft | Qt.AlignTop)
hlayout.addWidget( QPushButton(str(2)) , 0 , Qt.AlignLeft | Qt.AlignTop)
hlayout.addWidget( QPushButton(str(3)))
#水平居左 垂直居下
hlayout.addWidget( QPushButton(str(4)) , 0 , Qt.AlignLeft | Qt.AlignBottom )
hlayout.addWidget( QPushButton(str(5)), 0 , Qt.AlignLeft | Qt.AlignBottom)
self.setLayout(hlayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Winform()
form.show()
sys.exit(app.exec_())
運行效果圖如下

本文主要講解了關于PyQt5布局控件QHBoxLayout詳細使用方法與實例,更多PyQt5布局控件的知識請查看下面的相關鏈接
相關文章
PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片
這篇文章主要介紹了PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
使用Django Form解決表單數(shù)據(jù)無法動態(tài)刷新的兩種方法
這篇文章主要介紹了使用Django Form解決表單數(shù)據(jù)無法動態(tài)刷新的兩種方法,需要的朋友可以參考下2017-07-07
Python多進程并發(fā)(multiprocessing)用法實例詳解
這篇文章主要介紹了Python多進程并發(fā)(multiprocessing)用法,實例分析了multiprocessing模塊進程操作的相關技巧,需要的朋友可以參考下2015-06-06

