Grid (Python) Tiffany Antopolski tiffany.antopolski@gmail.com 2012 Marta Maria Casetti mmcasetti@gmail.com 2012 Balí widgety do řádků a sloupců Grid

Pár popisků v mřížce.

Kód použitý k vygenerování tohoto příkladu from gi.repository import Gtk import sys class MyWindow(Gtk.ApplicationWindow): def __init__(self, app): Gtk.Window.__init__(self, title="Grid Example", application=app) # Tři popisky label_top_left = Gtk.Label(label="This is Top Left") label_top_right = Gtk.Label(label="This is Top Right") label_bottom = Gtk.Label(label="This is Bottom") # Mřížka grid = Gtk.Grid() # Nějaké místo mezi sloupci v mřížce grid.set_column_spacing(20) # V mřížce: # Připojíme první popisek do levého horního rohu grid.attach(label_top_left, 0, 0, 1, 1) # Připojíme druhý popisek grid.attach(label_top_right, 1, 0, 1, 1) # Připojíme třetí popisek pod první popisek grid.attach_next_to( label_bottom, label_top_left, Gtk.PositionType.BOTTOM, 2, 1) # Přidá mřížku do okna self.add(grid) class MyApplication(Gtk.Application): def __init__(self): Gtk.Application.__init__(self) def do_activate(self): win = MyWindow(self) win.show_all() app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status)
Užitečné metody pro widget Grid

Pro připojení widgetu potomek na pozici zleva, shora s danou šířkou, výškou použijte attach(potomek, shora, zleva, šířka, výška). Pokud je již umístěn widget sourozenec, můžeme použít také attach_next_to(potomek, sourozenec, strana, šířka, výška), kde strana je jedno z Gtk.PositionType.LEFT, Gtk.PositionType.RIGHT, Gtk.PositionType.TOP, Gtk.PositionType.BOTTOM.

insert_row(pozice) a insert_column(pozice) vkládají řádek respektive sloupec. Potomci, kteří jsou na této pozici nebo pod ní jsou posunuti o řádek níž a potomci roztažní přes tuto pozici se roztáhnou i přes nový řádek. insert_next_to(sourozenec, strana) vloží řádek nebo sloupec na zadanou pozici. Nový řádek nebo sloupec je umístěn vedle sourozence na straně určené argumentem strana. Pokud strana je Gtk.PositionType.TOP nebo Gtk.PositionType.BOTTOM, je vložen řádek, pokud Gtk.PositionType.LEFT nebo Gtk.PositionType.RIGHT, je vložen sloupec.

set_row_homogeneous(True) a set_column_homogeneous(True) zajistí, že každý řádek respektive sloupec bude mít stejnou výšku respektive šířku.

set_row_spacing(rozestup) a set_column_spacing(rozestup) vynutí rozestup mezi řádky respektive sloupci. Hodnota rozestup může být mezi 0, což je výchozí hodnota, a 32767.

Odkazy k API

V této ukázce se používá následující:

GtkApplication

GtkApplicationWindow

GtkLabel

GtkImage

GtkGrid