wxPython - GridSizer

Come suggerisce il nome, a GridSizerl'oggetto presenta una griglia bidimensionale. I controlli vengono aggiunti nello slot della griglia nell'ordine da sinistra a destra e dall'alto verso il basso. L'oggetto GridSizer accetta quattro parametri:

wx.GridSizer(rows, columns, vgap, hgap)

I parametri vgap e hgap controllano la spaziatura verticale e orizzontale tra i controlli adiacenti.

La tabella seguente mostra alcuni metodi importanti della classe wxGridSizer -

SN Metodi e descrizione
1

Add()

Aggiunge un controllo nel successivo slot della griglia disponibile

2

AddMany()

Aggiunge ogni elemento nell'elenco dei controlli

3

SetRows()

Imposta il numero di righe nel sizer

4

GetRows()

Recupera il numero di righe nel sizer

5

SetCols()

Imposta il numero di colonne nel sizer

6

GetCols()

Recupera il numero di colonne di dimensione

7

SetVGap()

Imposta lo spazio verticale (in pixel) tra le celle

8

GetVGap()

Restituisce il valore di vgap tra le celle

9

SetHGap()

Imposta lo spazio orizzontale (in pixel) tra le celle

10

GetHGap()

Restituisce il valore di hgap tra le celle

Il codice seguente mostra una semplice griglia di una griglia 4 per 4 con uno spazio verticale e orizzontale di 5 pixel.

Gs = wx.GridSizer(4, 4, 5, 5)

Sedici oggetti pulsante vengono aggiunti successivamente utilizzando un ciclo "for".

for i in range(1,17): 
   btn = "Btn"+str(i) 
   gs.Add(wx.Button(p,label = btn),0,wx.EXPAND)

Il codice completo è il seguente:

import wx
  
class Example(wx.Frame): 
   
   def __init__(self, parent, title): 
      super(Example, self).__init__(parent, title = title,size = (300,200)) 
             
      self.InitUI() 
      self.Centre() 
      self.Show()      
         
   def InitUI(self): 
	
      p = wx.Panel(self) 
         
      gs = wx.GridSizer(4, 4, 5, 5) 
		
      for i in range(1,17): 
         btn = "Btn"+str(i) 
         gs.Add(wx.Button(p,label = btn),0,wx.EXPAND) 

         p.SetSizer(gs)  
   
app = wx.App() 
Example(None, title = 'Grid demo') 
app.MainLoop()

Il codice precedente produce il seguente output: