要锁定小部件的中心并将其与其他部件分离,可以使用QGridLayout。在QGridLayout中,小部件的位置是根据行和列来确定的。要将一个小部件放在单独一行或单独一列中,请使用一个空的QGridLayout单元格作为占位符。下面是一个示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
grid = QGridLayout()
self.setLayout(grid)
grid.addWidget(QPushButton('Button 1'), 0, 0)
grid.addWidget(QPushButton('Button 2'), 0, 1)
grid.addWidget(QPushButton('Button 3'), 1, 0)
placeholder = QWidget()
grid.addWidget(placeholder, 1, 1)
button4 = QPushButton('Button 4')
grid.addWidget(button4, 2, 0, 1, 2)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Grid')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在上述示例中,我们使用一个QWidget作为占位符,将第三个按钮与第四个按钮分离。通过设置按钮的行跨度和列跨度,可以将按钮4放置在一个单独的网格单元中。