在PyQt5中,组合布局意味着在一个布局容器内嵌套另一个或多个布局,以此来实现更加复杂和灵活的界面设计。这种做法允许开发者精确控制界面元素的排列,无论是简单的线性排列还是复杂的网格布局,都能通过组合布局轻松实现。以下是一个结合了水平布局、垂直布局和网格布局的示例:
python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QHBoxLayout, QGridLayout, QLineEdit
class CombinedLayoutExample(QWidget):
def __init__(self):
super().__init__()
# 主垂直布局
main_layout = QVBoxLayout()
self.setLayout(main_layout)
# 上部水平布局,包含两个按钮
top_h_layout = QHBoxLayout()
main_layout.addLayout(top_h_layout)
button1 = QPushButton("Button 1")
button2 = QPushButton("Button 2")
top_h_layout.addWidget(button1)
top_h_layout.addWidget(button2)
# 中部网格布局,模拟表单布局
grid_layout = QGridLayout()
main_layout.addLayout(grid_layout)
label_name = QLabel("Name:")
line_edit_name = QLineEdit()
grid_layou