Aplicaciones Gráficas en Gambas

Introducción

Gambas es un lenguaje que permite el desarrollo de aplicaciones gráficas de una forma sencilla e intuitiva utilizando pocas líneas de código. Hasta ahora solo hemos realizado programas que se ejecuten en la consola, sin embargo, una de las fortalezas de Gambas es la facilidad para crear interfaces gráficas de usuario.

Para el desarrollo de aplicaciones gráficas utilizaremos todos los conceptos que hemos visto hasta ahora, y se combinarán con los elementos y la forma de construcción de las aplicaciones gráficas con todos los elementos que Gambas proporciona. Este lenguaje permite realizar aplicaciones gráficas robustas con una cantidad moderada de código y una interfaz amigable para el usuario.

Las aplicaciones gráficas en Gambas, de igual forma que Basic, están orientadas a eventos. Un evento es una acción que ocurre en la aplicación, que pueden ser un click, seleccionar un texto, presionar un boton o un elemento de la aplicación y muchos eventos más. El desarrollador entonces debe programar la forma como la aplicación debe reaccionar ante esos eventos.

El Entorno de Desarrollo

Al iniciar Gambas nos pregunta el tipo de aplicación a desarrollar: Aplicación gráfica, Aplicación gráfica QT, Aplicación gŕafica GTK+, Aplicación de consola, Aplicación SDL y Aplicación Web CGI.

proyecto

Hasta ahora en todos los casos hemos seleccionado "Aplicación de consola", ahora seleccionamos "Aplicación gráfica" y nombramos el proyecto.

Al crear el proyecto gráfico, debe abrirse el ambiente de desarrollo de la aplicación gráfica y los elementos de desarrollo para este tipo de aplicaciones. Observe que en la parte de la izquierda se encuentra el contenido del proyecto gráfico, de doble click sobre el elemento FMain y deberá ver algo similar a esto:

IDE

La pantalla del editor está dividia en cuatro paneles principales: Panel del Proyecto, Panel de Edición, Panel de Propiedades/Jerarquía y el Panel de Elementos Gráficos. A continuación se describen cada uno de ellos:

Un formulario es un contenedor gráfico de elementos que ejercen acciones en una aplicación gráfica. Al ejecutarse la aplicación, los formularios se visualizan como ventanas. Por defecto, al crear un proyecto gráfico nuevo, Gambas crea también un formulario principal llamado FMain. Para crear un nuevo formulario, basta con pulsar el botón derecho del ratón en la carpeta Fuentes en el Panel del Proyecto, luego elegir Nuevo | Formulario.

Al ejecutar una aplicación gráfica, el primer formulario que se abre es el marcado como prinicipal, que por defecto es FMain. Se puede observar en el panel del proyecto cual es el formulario principal, está señalado con una pequeña flecha negra. El desarrollador puede decidir cual será el formulario principal, para ello debe buscar el formulario en cuestión en el panel de proyecto, dar click derecho en el y seleccionar "Clase de inicio".

Hola Mundo versión gráfica

Cuando comenzamos con Gambas hicimos la primera aplicación Hola Mundo en una versión para consola, en esta ocasión realizaremos un equivalente pero en su versión gráfica.

En primer lugar debemos crear un nuevo proyecto gráfico y ponerle un nombre, por ejemplo holaMundoGrafico.

Posteriormente debemos agregar al formulario FMain tres elementos: una etiqueta de texto (Label) y dos botones (Button). Para ello seleccione los elementos en el panel de elementos gráficos y arrastrelos hacia el formulario.

Para cambiar el texto de los elementos gráficos, seleccione el elemento deseado y busque en el panel Propiedades la propiedad Text y escriba en esa caja un nuevo texto. Cambie los textos de los botones para que quede de la siguiente forma:

Hola Mundo Grafico 1

En este momento, la parte gráfica de la aplicación ya está lista, solo falta añadir el código para el comportamiento de los elementos. Para ello, de doble click en el botón Presionar. Observe que se abre el editor de código y se posciona el cursor dentro de la subrutina llamada Button1_Click(). Esta subrutina es la que se ejecuta cuando ocurre el evento Click en el botón 1.

Añada el siguiente código a la subrutina Button1_Click():

      Public Sub Button1_Click()

        Label1.Text = "Hola Mundo Cruel"
        Message.Info("Hola Mundo Cruel")

      End

Y añada también el siguiente código al evento click del botón Salir, Button2_Click()

      Public Sub Button2_Click()
        Quit
      End

Al ejecutar la aplicación verá la ventana del formulario principal, y los botones que le agregamos. Al presionar el primer botón, ocurre el evento Click del botón 1 y se ejecuta el código en la subrutina Button1_Click().

Observe que en esa subrutina se hace referencia al elemento lamado Label1 y se modifica el contenido de la propiedad Text, asignando el texto "Hola Mundo Cruel". Por esta razón es que en el fomulario aparecerá este texto al presionar el botón 1.

Observe que además se llama al Objeto especial Message y su método Info con el argumento "Hola Mundo Cruel". Esta instrucción hace una llamada la sistema operativo solicitando que se despliegue un mensaje informativo con el texto que se pasa como argumento. Este tipo de mensaje tiene por defecto un botón con el texto "OK".

Al presionar el segundo botón ocurre el evento click y se invoca a la subrutina Button2_Click(). En ella solo se ejecuta la función especial Quit, que como su nombre lo indica, finaliza la aplicación gráfica en ejecución.

Ejemplos Gráficos