Pyqt-qgridlayout-class

提供:Dev Guides
移動先:案内検索

PyQt-QGridLayoutクラス

*GridLayout* クラスオブジェクトは、行と列に配置されたセルのグリッドで表示されます。 このクラスにはaddWidget()メソッドが含まれています。 セルの行と列の数を指定することにより、任意のウィジェットを追加できます。 オプションで、行と列のスパニングファクター(指定されている場合)は、ウィジェットを1つのセルよりも広くまたは高くします。 addWidget()メソッドの2つのオーバーロードは次のとおりです-
Sr.No. Methods & Description
1

addWidget(QWidget, int r, int c)

指定された行と列にウィジェットを追加します

2

addWidget(QWidget, int r, int c, int rowspan, int columnspan)

指定された行および列にウィジェットを追加し、指定された幅および/または高さを持つ

子レイアウトオブジェクトは、グリッドの任意のセルに追加することもできます。

Sr.No. Methods & Description
1

addLayout(QLayout, int r, int c)

指定された行と列にレイアウトオブジェクトを追加します

次のコードは、4行4列のグリッドレイアウトに配置された16個のプッシュボタンのグリッドレイアウトを作成します。

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
   grid = QGridLayout()

   for i in range(1,5):
      for j in range(1,5):
         grid.addWidget(QPushButton("B"+str(i)+str(j)),i,j)

   win.setLayout(grid)
   win.setGeometry(100,100,200,100)
   win.setWindowTitle("PyQt")
   win.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

コードは、変数_i_および_j_で示される行番号と列番号の2つのネストされたforループを使用します。 これらは、_i ^ th ^ _行と_j ^ th ^ _列に追加される各プッシュボタンのキャプションを連結するために文字列に変換されます。

上記のコードは、次の出力を生成します-

QGridLayoutクラスの出力