福田公司领导班子名单,哪里有做网站排名优化,公司局域网,办公室装修设计效果图大全QGridLayout#xff08;网格布局#xff09;
QGridLayout#xff08;网格布局#xff09;是将窗口分隔成行和列的网格来进行排列。通常可以使用函数addWidget()将被管理的控件#xff08;Widget)添加到窗口中#xff0c;或者使用addLayout()
函数将布局#xff08;Layou…QGridLayout网格布局
QGridLayout网格布局是将窗口分隔成行和列的网格来进行排列。通常可以使用函数addWidget()将被管理的控件Widget)添加到窗口中或者使用addLayout()
函数将布局Layout)添加到窗口中。也可以通过addWidget()函数对所添加的控件
设置行数和列数的跨越最后实现网格占据多个窗格。
QGridLayout类中的常用方法如表6-4所示。方法描述addWidget(QWidget widget,int row,int col,int alignement0)给网格布局添加控件设置指定的行和列。起始位置(top-left position的默认值是(0,0)。widget所添加的控件row:控件的行数默认从0开始column:控件的列默认从0开始alignemnt:引对齐方式addWidget(QWidget widget,intfromRow,int fromColumn,int rowSpan,int columnSpan,Qt.Alignment alignment0)所添加的控件跨越很多行或者列时使用这个函数。widget:所添加的控件fromRow控件的起始行数fromcolumn:控件的起始列数rowSpan控件跨越的行数columnSpan:控件跨的列数alignment:对齐方式setSpacing(int spacing)设置控件在水平和垂直方向间隔QGridLayout类的继承结构如下
QObect|- QLayout|- QGridLayout单一的网格单元格
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QHBoxLayout,QPushButton
from PyQt5.QtCore import Qtclass Winform(QWidget):def __init__(self,parentNone):super(Winform,self).__init__(parent)self.setWindowTitle(水平布局管理例子)# 水平布局按照从左到右的顺序进行添加按钮部件hlayout QHBoxLayout()hlayout.addWidget(QPushButton(str(1)))hlayout.addWidget(QPushButton(str(2)))hlayout.addWidget(QPushButton(str(3)))hlayout.addWidget(QPushButton(str(4)))hlayout.addWidget(QPushButton(str(5)))# 设置控件间的间距hlayout.setSpacing(0)self.setLayout(hlayout)if __name__ __main__:app QApplication(sys.argv)formWinform()form.show()sys.exit(app.exec_())跨越行和列的网格单元格
import sys
from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QTextEdit,QGridLayout,QApplicationclass Winform(QWidget):def __init__(self,parentNone):super(Winform,self).__init__(parent)self.initUI()def initUI(self):titleQLabel(标题)authorQLabel(提交人)reviewQLabel(申告内容)titleEditQLineEdit()authorEditQLineEdit()reviewEditQLineEdit()gridQGridLayout()grid.setSpacing(10)grid.addWidget(title,1,0)grid.addWidget(titleEdit,1,1)grid.addWidget(author,2,0)grid.addWidget(authorEdit,2,1)grid.addWidget(review,3,0)grid.addWidget(reviewEdit,3,1,5,1)self.setLayout(grid)self.setGeometry(300,300,350,300)self.setWindowTitle(故障申告)if __name__ __main__:app QApplication(sys.argv)formWinform()form.show()sys.exit(app.exec_())运行结果