Blame platform-demos/es/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="es">
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>Empaquetar widgets en filas y columnas</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Daniel Mustieles</mal:name>
Packit 1470ea
      <mal:email>daniel.mustieles@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2011 - 2017</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Nicolás Satragno</mal:name>
Packit 1470ea
      <mal:email>nsatragno@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2012 - 2013</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Jorge González</mal:name>
Packit 1470ea
      <mal:email>jorgegonz@svn.gnome.org</mal:email>
Packit 1470ea
      <mal:years>2011</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>Rejilla</title>
Packit 1470ea
Packit 1470ea
  <media type="image" mime="image/png" src="media/grid_simple.png"/>
Packit 1470ea
  

Algunas etiquetas en una rejilla.

Packit 1470ea
Packit 1470ea
  <links type="section"/>
Packit 1470ea
Packit 1470ea
  <section id="code">
Packit 1470ea
    <title>Código usado para generar este ejemplo</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
        # three labels
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
        # a grid
Packit 1470ea
        grid = Gtk.Grid()
Packit 1470ea
Packit 1470ea
        # some space between the columns of the grid
Packit 1470ea
        grid.set_column_spacing(20)
Packit 1470ea
Packit 1470ea
        # in the grid:
Packit 1470ea
        # attach the first label in the top left corner
Packit 1470ea
        grid.attach(label_top_left, 0, 0, 1, 1)
Packit 1470ea
        # attach the second label
Packit 1470ea
        grid.attach(label_top_right, 1, 0, 1, 1)
Packit 1470ea
        # attach the third label below the first label
Packit 1470ea
        grid.attach_next_to(
Packit 1470ea
            label_bottom, label_top_left, Gtk.PositionType.BOTTOM, 2, 1)
Packit 1470ea
Packit 1470ea
        # add the grid to the window
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>Métodos útiles para un widget «Grid»</title>
Packit 1470ea
Packit 1470ea
    <list>
Packit 1470ea
      <item>

Para añadir un widget hijo en la posición izquierda, arriba en un espacio de una anchura, altura dada use attach(hijo, arriba, izquierda, anchura, altura. Si un widget hermano ya está en posición, también se puede usar attach_next_to(hijo, hermano, lado, anchura, altura), donde lado puede ser Gtk.PositionType.LEFT, Gtk.PositionType.RIGHT, Gtk.PositionType.TOP, Gtk.PositionType.BOTTOM.

</item>
Packit 1470ea
      <item>

insert_row(posición) e insert_column(posición) hacen que los hijos añadidos en esa posición o por debajo se muevan una fila hacia abajo, y que los hijos que se extienden a lo largo de esta posición crezcan para ocupar la siguiente fila. insert_next_to(hermano, lado) inserta una fila o columna en la posición especificada. La fila o columna nueva se pone al lado del hermano, a su lado; si es Gtk.PositionType.TOP or Gtk.PositionType.BOTTOM, se inserta una fila; si es Gtk.PositionType.LEFT o Gtk.PositionType.RIGHT, se inserta una columna.

</item>
Packit 1470ea
      <item>

set_row_homogeneous(True) y set_column_homogeneous(True) se aseguran de que (respectivamente) cada fila o cada columna tengan la misma anchura o altura.

</item>
Packit 1470ea
      <item>

set_row_spacing(espaciado) y set_column_spacing(espaciado) fuerzan un espaciado entre (respectivamente) filas o columnas. El valor de espaciado puede estar entre 0, que es el valor predeterminado, y 32767.

</item>
Packit 1470ea
    </list>
Packit 1470ea
Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="references">
Packit 1470ea
    <title>Referencias de la API</title>
Packit 1470ea
    

En este ejemplo se usa lo siguiente:

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>