pyqt6 を使用して、QGridLayout でウィジェットの行を中央に配置しようとしています。行にウィジェットがあり、最初のいくつかはデフォルトよりも大きくしていませんが、最後のものはそこにある最も重要なボックスであるため、大きくしたいと思います。私のコードは以下のようになります (完全なコードは非常に長いため、重要なビットのみを追加しようとしました)
class runTest(QWidget):
def __init__(self, mylogs, data):
super().__init__()
self.data = data
self.mylogs = mylogs
self.mylogs.info("Starting run test window")
self.setWindowTitle("Running Test")
layout = QGridLayout()
self.progEnocean = QLabel("Enocean Program Results")
layout.addWidget(self.progEnocean, 0, 0)
self.progEnocean.setStyleSheet("border: 1px solid black;")
self.enoceanProgFile = QLabel("EnOcean Program File")
layout.addWidget(self.enoceanProgFile, 0, 1)
self.enoceanProgFile.setStyleSheet(
"border: 1px solid black;" "background-color: Red;"
)
self.enoceanProgFile.setAlignment(
Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter
)
self.seccfgFile = QLabel("Secure Config File")
layout.addWidget(self.seccfgFile, 0, 2)
self.seccfgFile.setStyleSheet(
"border: 1px solid black;" "background-color: Red;"
)
self.seccfgFile.setAlignment(
Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter
)
self.cpbBit = QLabel("Config File")
layout.addWidget(self.cpbBit, 0, 3)
self.cpbBit.setStyleSheet("border: 1px solid black;" "background-color: Red;")
self.cpbBit.setAlignment(
Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter
)
self.enoceanOverallResult = QLabel("EnOcean Overall Results")
layout.addWidget(self.enoceanOverallResult, 0, 4, 2, 2)
self.enoceanOverallResult.setStyleSheet(
"border: 1px solid black;" "background-color: Red;"
)
self.enoceanOverallResult.setAlignment(
Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter
)
self.setLayout(layout)
現在、ウィジェットは次のようになっています。
最初の 4 つを最終ボックスの上部または下部ではなく、行の中央に配置したいのですが、これを行う方法はありますか?