Center buttons using QGridlayout

How can I position the two buttons(save, exit) centered beneath the 6 fields using QGridLayout like this:

field1 field2 field3 field4 field5 field6
save exit

Hier is my code:

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

class myWindow(QWidget):
def init(self, *args, **kwargs):
super().init(*args, **kwargs)

    self.ax1Label = QLabel("label_1")
    self.ax2Label = QLabel("label_2")
    self.ax3Label = QLabel("label_3")
    self.az1Label = QLabel("label_4")
    self.az2Label = QLabel("label_5")
    self.az3Label = QLabel("label_6")
    
    self.ax1Field = QLineEdit()
    self.ax2Field = QLineEdit()
    self.ax3Field = QLineEdit()
    self.az1Field = QLineEdit()
    self.az2Field = QLineEdit()
    self.az3Field = QLineEdit()
    
    self.saveButton = QPushButton("save")
    self.extButton = QPushButton("exit")

    
    layout = QGridLayout()

    layout.addWidget(self.ax1Label, 0,0)
    layout.addWidget(self.ax2Label, 0,1)
    layout.addWidget(self.ax3Label, 0,2)
    layout.addWidget(self.az1Label, 0,3)
    layout.addWidget(self.az2Label, 0,4)
    layout.addWidget(self.az3Label, 0,5)
    
    layout.addWidget(self.ax1Field, 1,0)
    layout.addWidget(self.ax2Field, 1,1)
    layout.addWidget(self.ax3Field, 1,2)
    layout.addWidget(self.az1Field, 1,3)
    layout.addWidget(self.az2Field, 1,4)
    layout.addWidget(self.az3Field, 1,5) 
    
    layout.addWidget(self.saveButton, 2,0, alignment=QtCore.Qt.AlignmentFlag.AlignRight)
    layout.addWidget(self.extButton,  2,1, alignment=QtCore.Qt.AlignmentFlag.AlignLeft)
    
    self.setLayout(layout)
    
    self.show()

if name == ‘main’:
app = QApplication(sys.argv)
window = myWindow()
sys.exit(app.exec())

Hi @Ahmad ,

For centering relatively to the button row, you need to use columns 2 and 3 for your buttons:

        layout.addWidget(self.saveButton, 2,2, alignment=QtCore.Qt.AlignmentFlag.AlignRight)
        layout.addWidget(self.extButton,  2,3, alignment=QtCore.Qt.AlignmentFlag.AlignLeft)