预览效果:

详细代码如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QLabel, QLineEdit, QPushButton

class GridLayoutExample(QWidget):
    def __init__(self):
        super().__init__()

        # 设置窗口标题和大小
        self.setWindowTitle("QGridLayout 示例")
        self.setGeometry(100, 100, 400, 300)

        # 创建布局
        layout = QGridLayout()

        # 添加标签和输入框到布局
        layout.addWidget(QLabel("姓名:"), 0, 0)
        layout.addWidget(QLineEdit(), 0, 1)
        layout.addWidget(QLabel("年龄:"), 0, 2)
        layout.addWidget(QLineEdit(), 0, 3)

        layout.addWidget(QLabel("城市:"), 1, 0)
        layout.addWidget(QLineEdit(), 1, 1)
        layout.addWidget(QLabel("职业:"), 1, 2)
        layout.addWidget(QLineEdit(), 1, 3)

        layout.addWidget(QLabel("兴趣:"), 2, 0)
        layout.addWidget(QLineEdit(), 2, 1)
        layout.addWidget(QLabel("备注:"), 2, 2)
        layout.addWidget(QLineEdit(), 2, 3)

        # 添加提交按钮
        submit_button = QPushButton("提交")
        layout.addWidget(submit_button, 3, 0, 1, 4)  # 跨越所有列

        # 设置布局
        self.setLayout(layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = GridLayoutExample()
    window.show()
    sys.exit(app.exec_())