[PyQt5]高级控件8 - 网格布局QGridLayout

PyQt5系列文章

基本控件---
1.按钮QPushButton2.标签QLabel3.可编辑框QTextEdit4.文本提示QToolTip
5.单行输入框QLineEdit6.消息框QMessageBox7.单选按钮QRadioButton8.下拉列表QComboBox
9.图片显示QPixmap10.分组框QGroupBox11.进度条QProgressBar12.对话框QDialog
13.进度条对话框QProgressDialog14.复选框QCheckBox15.滑块QSlider16.状态栏QStatusBar
17.文件对话框QFileDialog18.工具栏QToolBar19.分割条QSplitter20.菜单栏QMenuBar
21.滚动条QScrollBar22.时间编辑框QTimeEdit23.日期编辑框QDateEdit24.时间日期编辑框QDateTimeEdit
高级控件---
1.列表控件QListWidget2.表格控件QTableWidget3.树形控件QTreeWidget4.选项卡QTabWidget
5.浮动窗口QDockWidget6.堆叠窗口QStackedWidget7.堆叠布局QStackedLayout8.网格布局QGridLayout
9.表单布局QFormLayout10.水平布局QHBoxLayout11.垂直布局QVBoxLayout12.日历QCalendarWidget
13.线程QThread14.定时器QTimer--

效果图

gridlayout示例图

完整代码

import sys
from PyQt5.QtWidgets import *

class QGridLayoutDemo(QMainWindow):
    def __init__(self):
        super(QGridLayoutDemo, self).__init__()

        self.resize(400, 150)
        #设置窗口标题
        self.setWindowTitle("QGridLayoutDemo")

        titleLabel = QLabel('标题')
        authorLabel = QLabel('提交人')
        contentLabel = QLabel('申告内容')

        titleEdit = QLineEdit()
        authorEdit = QLineEdit()
        contentEdit = QTextEdit()

        layout = QGridLayout()
        layout.setSpacing(10)

        layout.addWidget(titleLabel, 1, 0)
        layout.addWidget(titleEdit, 1, 1)
        layout.addWidget(authorLabel, 2, 0)
        layout.addWidget(authorEdit, 2, 1)
        layout.addWidget(contentLabel, 3, 0)
        layout.addWidget(contentEdit, 3, 1, 5, 1)

        mainFrame = QWidget()
        mainFrame.setLayout(layout)
        self.setCentralWidget(mainFrame)

if  __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QGridLayoutDemo()
    main.show()
    sys.exit(app.exec_())


版权声明:本文为yurensan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。