diff options
Diffstat (limited to 'exercises/es/17_boton-y-etiqueta.py')
-rw-r--r-- | exercises/es/17_boton-y-etiqueta.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/exercises/es/17_boton-y-etiqueta.py b/exercises/es/17_boton-y-etiqueta.py new file mode 100644 index 0000000..edd3b6b --- /dev/null +++ b/exercises/es/17_boton-y-etiqueta.py @@ -0,0 +1,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() |