# 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