Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/exercises/es/17_boton-y-etiqueta.py
blob: edd3b6b3cfacfc6fb68ec6688044cdb4b0a61dda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/python
# coding=utf-8

"""Este programa debe mostrar una ventana GTK + que contiene un botón y una
etiqueta.

Debe añadir dos widgets a la caja en la ventana: un Gtk.Button y un Gtk.Label.

El Gtk.Button debe mostrar el texto ‘Cambiar etiqueta’. El Gtk.Label debe
mostrar el texto ‘Etiqueta inicial’.

Después de añadir los dos widgets, debe conectar un callback a la señal
‘clicked’ del botón. En este callback, deberá cambiar el texto de la Gtk.Label
a ‘Etiqueta final’. Esto significa que cuando se ejecuta el programa y se pulsa
el botón, la etiqueta debe modificar su texto.

Usted puede encontrar documentación de la señal ‘clicked’ de Gtk.Button aquí:
    https://developer.gnome.org/gtk3/stable/GtkButton.html#GtkButton-clicked

No te olvides de documentar los nuevos métodos que se agregan.

Consejo: No te olvides de llamar al método show() del botón y la etiqueta para
que sean visibles después de añadirlos a la caja.
"""

from gi.repository import Gtk


class SimpleWindow(Gtk.Window):
    """Una ventana simple que muestra una etiqueta y un botón."""
    def __init__(self):
        super(SimpleWindow, self).__init__(title='Ventana Simple')

        # Establecer un tamaño predeterminado de la ventana.
        self.set_default_size(200, 200)

        # Configurar un callback de cierre de la ventana. No modifique esto.
        self.connect('destroy', self.__window_destroy_cb)

        # Agregar una caja de la ventana.
        box = Gtk.Box()
        box.set_orientation(Gtk.Orientation.VERTICAL)
        box.set_spacing(8)
        box.set_border_width(8)
        box.show()
        self.add(box)

        # Debe agregar código aquí para crear y configurar el botón y la
        # etiqueta. No se olvide de hacer visibles y añadirlos a la caja.

    # Debe agregar un callback para manejar la señal "clicked" del botón y
    # cambiar el texto de la etiqueta.

    def __window_destroy_cb(self, window):
        """Callback para salir del programa cuando la ventana está cerrada.

        No modifique esto."""
        Gtk.main_quit()


# Ejecute el programa. No modifique esto.
SimpleWindow().show()
Gtk.main()