一、簡介
PyQt5佈局一般可分為:
QHBoxLayout: 橫向佈局QVBoxLayout: 縱向佈局QGridLayout: 表格佈局QStackedLayout: 堆砌佈局下面我們一一介紹這幾種佈局,為了更直觀的表現佈局,我們先設計一個元件並塗上顏色:
三、QHBoxLayout 水平佈局小部件將會其新增到右側。要使用它,我們只需將更QVBoxLayout改為即可QHBoxLayout。
# layout = QVBoxLayout() layout = QHBoxLayout()
執行效果:
四、巢狀佈局對於更復雜的佈局,可以使用佈局上的. addlayout將佈局巢狀在另一個佈局中。下面我們將QVBoxLayout新增到主QHBoxLayout中。如果我們向QVBoxLayout中新增一些小部件,它們將被垂直地排列在父佈局的第一個槽中。
五、QGridLayout 網格佈局可以使用. setcontentmargin設定佈局周圍的間距,也可以使用. setspacing設定元素之間的間距。
儘管QVBoxLayout和QHBoxLayout很有用,但是如果你嘗試使用QVBoxLayout和QHBoxLayout來佈局多個元素,比如一個表單,你會發現很難確保不同大小的小部件排列在一起。對此的解決方案是QGridLayout。
QGridLayout允許明確地在網格中定位項。為每個小部件指定行和列位置。也可以跳過元素,它們將被保留為空。
有用的是,對於QGridLayout,不需要填充網格中的所有位置。
六、QStackedLayout 堆砌佈局此佈局允許您將元素直接放置在另一個元素的前面。然後可以選擇要顯示的小部件。您可以使用它在圖形應用程式中繪製層,或用於模仿類似於選項卡的介面。注意,還有QStackedWidget,它是一個容器小部件,工作方式完全相同。如果您想使用. setcentralwidget將堆疊直接新增到QMainWindow,那麼這將非常有用。
可以看到所有的顏色都被黃色覆蓋
最新評論