Blame platform-demos/cs/grid.py.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="grid.py" xml:lang="cs">
Packit 1470ea
  <info>
Packit 1470ea
    <title type="text">Grid (Python)</title>
Packit 1470ea
    <link type="guide" xref="beginner.py#layout"/>
Packit 1470ea
    <link type="seealso" xref="label.py"/>
Packit 1470ea
    <link type="next" xref="separator.py"/>
Packit 1470ea
    <revision version="0.2" date="2012-08-01" status="stub"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Tiffany Antopolski</name>
Packit 1470ea
      <email its:translate="no">tiffany.antopolski@gmail.com</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Marta Maria Casetti</name>
Packit 1470ea
      <email its:translate="no">mmcasetti@gmail.com</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <desc>Balí widgety do řádků a sloupců</desc>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>Grid</title>
Packit 1470ea
Packit 1470ea
  <media type="image" mime="image/png" src="media/grid_simple.png"/>
Packit 1470ea
  

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

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

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.

</item>
Packit 1470ea
      <item>

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.

</item>
Packit 1470ea
      <item>

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

</item>
Packit 1470ea
      <item>

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.

</item>
Packit 1470ea
    </list>
Packit 1470ea
Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="references">
Packit 1470ea
    <title>Odkazy k API</title>
Packit 1470ea
    

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

Packit 1470ea
    <list>
Packit 1470ea
      <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkApplication.html">GtkApplication</link>

</item>
Packit 1470ea
      <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkApplicationWindow.html">GtkApplicationWindow</link>

</item>
Packit 1470ea
      <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkLabel.html">GtkLabel</link>

</item>
Packit 1470ea
      <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkImage.html">GtkImage</link>

</item>
Packit 1470ea
      <item>

<link href="http://developer.gnome.org/gtk3/unstable/GtkGrid.html">GtkGrid</link>

</item>
Packit 1470ea
    </list>
Packit 1470ea
  </section>
Packit 1470ea
</page>