PyGTK - Classe layout
Gtk.Layout è un widget contenitore simile a gtk.Fixed. I widget vengono inseriti nel widget Layout specificando le coordinate assolute. Tuttavia, il layout differisce dal widget fisso nei seguenti modi:
Il widget di layout può avere larghezza e altezza infinite. Il valore massimo di larghezza e altezza è limitato dalla dimensione dell'intero senza segno.
Un widget gtk.DrawingArea può essere racchiuso in un contenitore di layout. DrawingArea è una tela su cui è possibile disegnare elementi 2D come linea, rettangolo, ecc.
Per mettere il contenitore Layout nella finestra di primo livello di dimensioni minori, può essere associato alle barre di scorrimento o può essere posizionato in una Finestra a scorrimento.
La classe gtk.Layout ha il seguente costruttore:
gtk.Layout(hadjustment = None, vadjustment = None)
Il hadjustment e vadjustment le proprietà rappresentano un oggetto con un valore limitato regolabile.
La tabella seguente elenca i metodi di layout utilizzati di frequente:
put (widget, x, y) | Posiziona un widget figlio alle coordinate specificate |
set_size (w, h) | Imposta la dimensione del contenitore Layout sulla larghezza e l'altezza specificate |
L'oggetto Layout emette il segnale set_scroll_adjustment quando vengono modificate le regolazioni ad esso associate.
Esempio
Nell'esempio seguente, un'etichetta viene stimolata al centro di un contenitore Layout, che a sua volta deve essere posizionato in una finestra di primo livello di dimensioni inferiori. Quindi, viene prima aggiunto a ScrolledWindow e ScrolledWindow viene quindi aggiunto alla finestra principale.
Rispetta il codice -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("layout")
self.set_size_request(300,200)
self.set_position(gtk.WIN_POS_CENTER)
sc = gtk.ScrolledWindow()
lo = gtk.Layout()
lo.set_size(400,400)
button = gtk.Button("Press Me")
lo.put(button, 125,200)
sc.add(lo)
self.add(sc)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
Il codice sopra genererà il seguente output: