PyQt - Classe QGridLayout

UN GridLayoutL'oggetto class si presenta con una griglia di celle disposte in righe e colonne. La classe contiene il metodo addWidget (). Qualsiasi widget può essere aggiunto specificando il numero di righe e colonne della cella. Facoltativamente, un fattore di estensione per riga e colonna, se specificato, rende il widget più largo o più alto di una cella. Due sovraccarichi del metodo addWidget () sono i seguenti:

Sr.No. Metodi e descrizione
1

addWidget(QWidget, int r, int c)

Aggiunge un widget alla riga e alla colonna specificate

2

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

Aggiunge un widget alla riga e alla colonna specificate e con larghezza e / o altezza specificate

È inoltre possibile aggiungere un oggetto di layout figlio in qualsiasi cella della griglia.

Sr.No. Metodi e descrizione
1

addLayout(QLayout, int r, int c)

Aggiunge un oggetto del formato alla riga e alla colonna specificate

Esempio

Il codice seguente crea un layout di griglia di 16 pulsanti disposti in un layout di griglia di 4 righe e 4 colonne.

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()

Il codice utilizza due cicli for annidati per i numeri di riga e di colonna, indicati dalle variabili i e j . Essi vengono convertiti in stringa per concatenare la didascalia di ogni pulsante aggiunto alla i esima riga e j esima colonna.

Il codice precedente produce il seguente output: