Pyqt5中5種布局的實現(xiàn)示例
在PyQt5中,布局管理器是用來控制窗口中控件(widgets)的位置和大小的。使用布局管理器而不是手動定位控件可以讓界面自動適應不同的窗口大小和顯示設置。PyQt5提供了多種布局管理器來滿足不同的布局需求。
1. 水平布局(QHBoxLayout)
QHBoxLayout 排列控件在水平方向上??丶刺砑拥捻樞驈淖蟮接遗帕?。
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QPushButton
widget = QWidget()
hbox = QHBoxLayout()
hbox.addWidget(QPushButton('Button 1'))
hbox.addWidget(QPushButton('Button 2'))
hbox.addWidget(QPushButton('Button 3'))
widget.setLayout(hbox)
widget.show()
2. 垂直布局(QVBoxLayout)
QVBoxLayout 在垂直方向上排列控件。控件按添加的順序從上到下排列。
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton
widget = QWidget()
vbox = QVBoxLayout()
vbox.addWidget(QPushButton('Button 1'))
vbox.addWidget(QPushButton('Button 2'))
vbox.addWidget(QPushButton('Button 3'))
widget.setLayout(vbox)
widget.show()
3. 網(wǎng)格布局(QGridLayout)
QGridLayout 允許你以網(wǎng)格方式排列控件。你可以指定控件的行和列。
from PyQt5.QtWidgets import QWidget, QGridLayout, QPushButton
widget = QWidget()
grid = QGridLayout()
grid.addWidget(QPushButton('Button 1'), 0, 0)
grid.addWidget(QPushButton('Button 2'), 0, 1)
grid.addWidget(QPushButton('Button 3'), 1, 0)
grid.addWidget(QPushButton('Button 4'), 1, 1)
widget.setLayout(grid)
widget.show()
4. 表單布局(QFormLayout)
QFormLayout 是為表單設計的,它以兩列方式排列控件:左列是標簽,右列是對應的字段(如文本框)。
from PyQt5.QtWidgets import QWidget, QFormLayout, QLineEdit, QLabel
widget = QWidget()
form = QFormLayout()
form.addRow(QLabel('Name:'), QLineEdit())
form.addRow(QLabel('Age:'), QLineEdit())
form.addRow(QLabel('Job:'), QLineEdit())
widget.setLayout(form)
widget.show()
5. 堆疊布局(QStackedLayout)
QStackedLayout 允許你堆疊多個控件在同一個位置,然后選擇一個控件進行顯示。
from PyQt5.QtWidgets import QWidget, QStackedLayout, QPushButton
widget = QWidget()
stack = QStackedLayout()
stack.addWidget(QPushButton('Button 1'))
stack.addWidget(QPushButton('Button 2'))
stack.addWidget(QPushButton('Button 3'))
# 設置當前顯示的控件索引
stack.setCurrentIndex(1)
widget.setLayout(stack)
widget.show()
6. 自定義布局
可以通過繼承 QLayout 類來創(chuàng)建自定義布局管理器,為特定的布局需求提供解決方案。
使用布局管理器的優(yōu)點
- 自動調整:當窗口大小改變時,布局管理器會自動調整控件的大小和位置。
- 國際化:布局管理器會考慮不同語言的文本長度變化。
- 容易修改:使用布局管理器可以讓你在不改變布局邏輯的情況下添加、移除或重新排列控件。
正確使用布局管理器是創(chuàng)建專業(yè)和易用GUI的關鍵。布局管理器的選擇取決于你的具體需求和期望的界面布局。
到此這篇關于Pyqt5中5種布局的實現(xiàn)示例的文章就介紹到這了,更多相關Pyqt5 布局內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- python GUI庫圖形界面開發(fā)之PyQt5窗口布局控件QStackedWidget詳細使用方法
- python GUI庫圖形界面開發(fā)之PyQt5動態(tài)(可拖動控件大小)布局控件QSplitter詳細使用方法與實例
- python GUI庫圖形界面開發(fā)之PyQt5布局控件QVBoxLayout詳細使用方法與實例
- python GUI庫圖形界面開發(fā)之PyQt5布局控件QGridLayout詳細使用方法與實例
- python GUI庫圖形界面開發(fā)之PyQt5表單布局控件QFormLayout詳細使用方法與實例
- Pyqt5自適應布局實例
- Python深度學習實戰(zhàn)PyQt5布局管理項目示例詳解
- PyQt5的相對布局管理的實現(xiàn)
相關文章
Python傳統(tǒng)圖像處理之皮膚區(qū)域檢測詳解
這篇文章主要介紹了在不同情景下對傳統(tǒng)圖像進行皮膚區(qū)域檢測,文章中的代碼具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起來學習學習2021-12-12
在Pycharm中將pyinstaller加入External Tools的方法
今天小編就為大家分享一篇在Pycharm中將pyinstaller加入External Tools的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python協(xié)程之yield和yield?from實例詳解
Python在并發(fā)處理上不僅提供了多進程和多線程的處理,還包括了協(xié)程,下面這篇文章主要給大家介紹了關于python協(xié)程之yield和yield?from的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12
Python datetime 模塊常用功能(輕松搞定時間處理)
Python的datetime模塊是處理日期時間的核心工具,包含date、time、datetime、timedelta四大類,用于獲取當前時間、格式轉換、時間計算及時區(qū)處理,解決常見時間問題,適用于日志記錄、數(shù)據(jù)處理等場景,本文介紹Python datetime 模塊常用功能,感興趣的朋友一起看看吧2025-07-07
python之生產(chǎn)者消費者模型實現(xiàn)詳解
這篇文章主要介紹了python之生產(chǎn)者消費者模型實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07

