Pár popisků v mřížce.
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)
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
.
V této ukázce se používá následující:
GtkApplication
GtkApplicationWindow
GtkLabel
GtkImage
GtkGrid