PyQt5入門 PythonでGUI作成 - yu00’s blog
QGridLayoutクラスはマス目に並べるクラスです.
マス目に並べる
addWidget(widget, row, column)
#! /usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout if __name__ == '__main__': app = QApplication(sys.argv) window = QWidget() button1 = QPushButton('1') button2 = QPushButton('2') button3 = QPushButton('3') layout = QGridLayout() # レイアウトにウィジェットを追加 layout.addWidget(button1, 0, 0) layout.addWidget(button2, 0, 1) layout.addWidget(button3, 1, 0) # ウィジェットにレイアウトをセット window.setLayout(layout) window.show() sys.exit(app.exec_())
複数のマスをまたがって並べる
addWidget(widget, fromRow, fromColumn, rowSpan, columnSpan)
rowSpan,columnSpan:占有する行数・列数
layout.addWidget(button1, 0, 0) layout.addWidget(button2, 0, 1) layout.addWidget(button3, 0, 2) # 2行*3列またがる layout.addWidget(button4, 1, 0, 2, 3) layout.addWidget(button5, 1, 3) layout.addWidget(button6, 2, 3)
特定の行・列にストレッチを設定する
setColumnStretch(column, stretch)
setRowStretch(row, stretch)
layout.setColumnStretch(0, 2) layout.setColumnStretch(1, 3) layout.setColumnStretch(2, 2)