Índice
- Hello World!
- Eventos y Callbacks
- Posicionando los widgets
- Ventanas
- Principales widgets
- Button
- Frames
- Labels
- Tooltips
- Checkbuttons
- RadioButtons
- TextEntry
- TextView
- Menus
- Referencias
Con el módulo Gtk2, podemos crear GUIs de manera rápida y fácil,
para programas pequeños y medianos.
En primer lugar, necesitamos tener instalados los módulos Glib y Gtk2.
En debian es el paquete libgtk2-perl. Para las otras distribuciones podeis
bajar los 2 módulos del CPAN o directamente
desde la línea de comandos con perl -MCPAN -e shell (install Glib
y install Gtk2).
Veremos una pequeña introducción a Gtk2 a través de Perl.
Solamente trataré los signals (producidos por eventos), callbacks, posicionamiento
de widgets, ventanas, los 7 widgets principales, menues y poco mas.
Para los otros 35 widgets, man es vuestro amigo :-).
1.- Hello World!
Para no romper con la tradición, empezamos con el típico Hello World!
#!/usr/bin/perl -w
use Gtk2 '-init';
$ventana = Gtk2::Window->new('toplevel');
$ventana->set_title('Hello World!');
$ventana->set_border_width(20);
$boton = Gtk2::Button->new('Hello World!');
$boton->signal_connect('clicked' => sub {Gtk2->main_quit; });
$ventana->add($boton);
$ventana->show_all;
# Empieza el show...
Gtk2->main;
|
Bien, casi no necesita comentarios :-). La linea use Gtk2 '-init' carga el toolkit
Gtk2 y lo inicializa. Sobra decir, que esta linea deberá estar presente en todos los programas :-)
Con la llamada al constructor ('new') creamos una nueva instancia del objeto Window.
El escalar $ventana contiene una referencia al widget que acabamos de crear.
A continuación, establecemos el título de la ventana y ponemos un borde de 20px a la ventana.
Creamos un botón con el texto especificado y ahora llega lo importante. Asociamos la pulsación
del boton (el evento 'clicked' ) a una subrutina (estrictamente, es una referencia a una subrutina).
En el caso del ejemplo, estamos haciendo referencia a una subrutina anónima.
Finalmente, con el método add añadimos el botón a la ventana creada anteriormente.
Le decimos a la ventana que muestre todos los widgets que contiene y entramos en el bucle principal.
A partir de aquí, el programa permanece a la espera que se produzca algún evento.
Muchas de las funciones de Gtk2 reciben como argumentos TRUE o FALSE. Si en vez de ir
poniendo 1 y 0, quereis usar TRUE y FALSE, teneis que exportar las constantes TRUE y
FALSE del módulo Glib al inicio de vuestros scripts.
Esto es: use Glib qw/TRUE FALSE/;
|