例如,我有一个GUI界面,它包含了
所以基本上label1 + line edit1会占据网格布局的第0行,label2 + line edit2会占据第1行,依此类推...
label1
+line_edit1
、label2
+line_edit2
、button1
、button2
和button3
。通常来说,代码看起来会像这样:class gridlayout_example(QtGui.QWidget):
def __init__(self):
self.grid_layout = QtGui.QGridLayout()
self.label1 = QtGui.QLabel("label1")
self.grid_layout.addWidget(self.label1,0,0,1,3)
self.line_edit1 = QtGui.QLineEdit()
self.grid_layout.addWidget(self.line_edit1,1,0,1,3)
self.label2 = QtGui.QLabel("label2")
self.grid_layout.addWidget(self.label1,2,0,1,3)
self.line_edit2 = QtGui.QLineEdit()
self.grid_layout.addWidget(self.line_edit2,3,0,1,3)
self.button1 = QtGui.QPushButton("button1")
self.button2 = QtGui.QPushButton("button2")
self.button3 = QtGui.QPushButton("button3")
self.grid_layout.addWidget(self.button1, 4,0,1,1)
self.grid_layout.addWidget(self.button2, 4,1,1,1)
self.grid_layout.addWidget(self.button3, 4,2,1,1)
self.setLayout(self.grid_layout)
但是有没有一种方法可以将label1
+line_edit1
和label2
+line_edit2
组合起来,使其变成以下形式:
[label1
line edit1 ] -> (0,0,1,3)
[label2
line edit2 ] -> (1,0,1,3)
[button1][button2][button3] -> (2,x,1,1)
所以基本上label1 + line edit1会占据网格布局的第0行,label2 + line edit2会占据第1行,依此类推...