PDF de programación - Desarrollo de aplicaciones científicas con Glade

Imágen de pdf Desarrollo de aplicaciones científicas con Glade

Desarrollo de aplicaciones científicas con Gladegráfica de visualizaciones

Publicado el 2 de Abril del 2018
533 visualizaciones desde el 2 de Abril del 2018
225,1 KB
19 paginas
Creado hace 20a (17/04/2003)
Desarrollo de aplicaciones

científicas con Glade

Francisco Domínguez-Adame ([email protected])

http://valbuena.fis.ucm.es/~adame/programacion

17 de abril de 2003

Sobre este documento

El origen de este documento se encuentra en la necesidad que encontré en mi actividad docente e investigadora de
desarrollar rápidamente aplicaciones gráficas. Comencé acudiendo a las librerías Xlib, pero indudablemente es una ardua
tarea que no permite un desarrollo rápido de aplicaciones a una persona con escasos conocimientos de programación (mi
primer y único programa desarrollado con XLib es xeigenfunction.c y se puede descargar desde mi página dedicada a la
programación
http://valbuena.fis.ucm.es/~adame/programacion/). Por otra parte, al no ser usuario de Windows,
desconozco el uso de herramientas como Visual Basic y Visual C++, por no mencionar que se trata de programas
propietarios. En esta tesitura encontré las librerias GTK (http://www.gtk.org), que me proporcionaron la flexibilidad y
potencia que necesitaba trabajando con Linux. La pregunta que me surgió entonces es si habría alguna aplicación gráfica
para crear una interfaz de manera simple, y poder dedicar los esfuerzos al desarrollo del código inherente a la aplicación..

Sobre Glade

Y la respuesta es Glade (http://glade.gnome.org), que se encuentra disponible en todas las distribuciones Linux que
conozco. Además, Glade se puede complementar perfectamente con Anjuta (http://anjuta.sourceforge.net), una plataforma
integrada de desarrollo (IDE). Glade es un programa gratuito, con amplia difusión entre los desarrolladores, que permite la
creación de interfaces gráficas de usuario de manera visual. Tiene la enorme ventaja de estar muy bien documentado y de
continuar en proceso de mejora, además de listas de correo activas (http://lists.ximian.com/archives/public/glade-users/). Si
aún no lo ha hecho, instale Glade antes de proseguir con este manual siguiendo las instruccions del gestor de sofware de su
distribución de Linux (Yast2 para Suse o linuxconf para RedHat, por ejemplo).

Para iniciar el programa desde un terminal introducimos glade en la línea de comandos, y veremos que aparecen tres
ventanas: Ventana principal, Paleta de Widgets y Editor de propiedades., según se muestra en la siguientes imágenes.

Iniciando Glade

Ventana principal

Paleta de
Widgets

Editor de propiedades

La Ventana principal muestra los widgets que vayamos añadiendo a nuestra aplicación. (en la imagen superior no se ha
añadido ninguno todavía). Por widget entenderemos cualquier componente que queramos incluir en la interfaz, por ejemplo
Botones, Barra de menú, Barras de progreso, Cuadro de diálogo, etc. A lo largo de este manual mantendremos dicho
término y no será traducido al castellano.

La Paleta de Widgets
permite seleccionar qué elementos agregaremos a nuestra aplicación. En el ejemplo que
presentaremos más adelante comenzaremos con una ventana. Para ello pulsamos en primer lugar sobre el icono de la
esquina superior izquierda de la Paleta de Widgets Básicos. y sobre ella iremos añadiendo el resto de elementos, como
indicaremos en el ejemplo.

El Editor de propiedades se activa cuando un widget esta seleccionado y permite modificar sus atributos (en la imagen
superior permanece inactivo porque aún no hemos incluido ningún widget en nuestra interfaz).

Iniciando un nuevo proyecto

En la opción Archivo de la Ventana principal elegimos Nuevo Proyecto y, lógicamente, respondemos afirmativamente a la
pregunta de Glade sobre si realmente deseamos crearlo. Posteriormente pulsaremos sobre las Opciones del Proyecto y se
desplegará una ventana como la que mostramos a continuación.

En esta primera pantalla podemos escoger en que directorio se guardará nuestro proyecto, con que nombre y en que
directorio se guardarán los archivos con los códigos y los mapas de pixels (en nuestro ejemplo no vamos a incluir imágnes
prediseñadas en la interfaz). Si no vamos a desarrollar una aplicación para Gnome, como será nuestro caso, debemos
desactivar el correspondiente botón de la parte inferior izquierda. En nuestro caso el Nuevo Proyecto se llamará Rmn
(resonancia magnética nuclear) y dejamos activada la casilla que indica que el lenguaje de programación es C (viene
marcada por defecto).

Podemos acceder a la segunda ventana pulsando sobre la pestaña denominada Opciones de C. En esta segunda ventana
podemos configurar los archivos donde se declararán las funciones que controlan los eventos, aunque normalmente estos se
dejan como están. Si no va a trabajar con soporte multilingüe, recomiendo desactivar la casilla denominada Soporte de
gettext (véase la imagen inferior). Finalmente, para el ejemplo que desarollaremos en este manual hay que activar la
casillas Fijar el nombre de los componentes, como indica la imagen inferior. En nuestro ejmplo, no necesitamos modificar
los datos de la tercera ventana, a la que accederíamos pulsando sobre la pestaña denominada Opciones de libGlade, por lo
cual pulsamos Aceptar para finalizar la selección de opciones..

Comenzando el desarrollo de la interfaz

Antes de comenzar el desarrollo, es conveniente detenerse unos instantes para pensar cómo queremos distribuir los
distintos widgets de la interfaz, cúales nos harán falta (por ejemplo, una Entrada de texto para indicar el valor de una
variable necesaria para la ejecución de la aplicación, un Área de Dibujo, una Barra de menú o una Barra de herramientas).
Las aplicaciones pueden tener una o más Ventanas, Cuadros de diálogo, etc. Nuestro sencillo ejemplo sólo tendrá una
Ventana principal sobre la que iremos añadiendo los distintos widgets. Por tanto, antes de comenzar debemos hacer una
breve presentación de la Paleta de Widgets . En dicha paleta, los iconos de los widgets se agrupan en tres clases: GTK+
Básico, GTK+ Adicional y Gnome. Para acceder a ellos pulsamos sobre la correspondiente pestaña en la parte superior de
la Paleta de Widgets.. Para saber el nombre de cada uno de ellos basta dejar unos breves instantes el puntero del ratón
sobre el icono, hasta que se despliegue una pequeña ventana indicando el nombre del mismo..

Widgets GTK+ Básicos
en

habituales

el
Widget más
desarrollo de la interfaz. Son los
únicos que utilizaremos en este
manual.

Widgets GTK+ Adicionales

Widgets GTK+ Gnome

Aquí se presentan widgets algo más
especiíficos y no serán discutidos en
este manual.

Presenta los widgets propios del
desarrollo de aplicaciones Gnome.
Tampoco los discutiremos en este
manual.

En la aplicación que vamos a desarrollar como ejemplo a lo largo de este manual utilizaremos muy pocos widgets (al fin y
al cabo es sólo un sencillo ejemplo para mostrar las capacidades de Glade y GTK). Por ello, conviene familiarizarse con
sus correspondientes iconos desde ahora., como indica la siguiente Tabla.

Icono

Nombre

Icono

Nombre

Icono

Nombre

Ventana

Marco

Caja vertical

Área de Dibujo

Barra de menú

Conviene recordar que, a diferencia de lo que sucede en muchos lenguajes visuales, la mayoría de los Widgets deben estar
insertados en un Contenedor. Hay muchos tipos de Contenedores (por ejemplo, los Widgets que aparecen en las tres
últimas filas de la Paleta de Widgets GTK+ Básicos son Contenedores), y en nuestro ejemplo utilizaremos tres, a saber, la
Ventana, el Marco y la Caja Vertical. Sobre ellos podemos colocar otros Widgets, pero Glade se quejará si intentamos
colocar un Widget sobre otro que no es un contenedor (por ejemplo, en nuestra aplicación no podemos insertar un Widget
sobre el Área de Dibujo, ya que no se trata de un Contenedor).

Eventos

Cada uno de estos Widgets está asociado al menos a un evento, así que debemos dedicar unas líneas a este concepto.
Siempre que pulsamos una tecla o presionamos algún botón del ratón se produce un evento y se emite una señal. Los
Widgets de la interfaz deben respoder a uno o más eventos. Por ejemplo, podemos diseñar un elemento de un menú que se
llame Salir, y precisamente queramos que la aplicación responda de una determinada manera al pulsar sobre dicho
elemento (terminando la ejecución de la aplicación en este caso). Hay muchísimos eventos y señales, y la mayoría de ellos

van a ser ignorados por la aplicación (por ejemplo, el teclado no va a jugar ningún papel en la aplicación que vamos a
desarrollar aquí, así que las pulsaciones de las teclas serán simplemente ignoradas). Si queremos que un elemento de la
interfaz responda a un determinado evento, debemos escribir una función que indique al programa la respuesta que
queremos que ofrezca a tal acción. A estas funciones se les retrollamadas (callbacks en inglés), y son declaradas como
prototipos en el archivo callbacks.h y llamadas en callbacks.c. Ambos archivos son generados automáticamente por Glade
cuando pulsamos Archivo fi
Escribir código fuente de la Ventana principal. En el ejemplo del elemento Salir,
encontraremos la siguiente función en el callbacks.c:

on_boton_salir_activate()
{
Líneas de código;
}

y ahí podremos escribir el código que corresponda a lo que queremos que el programa haga cuando presionemos dicho
botón. ¿Cómo sabe Glade las señales a las que debe responder un determinado elemento y, por tanto, qué funciones de
retrollamada debe incluir en los archivos callbacks.c y callbacks.h ? Pues bien, si nos detenemos de nuevo en el Editor de
Propiedades
(recuerde, una de las tres ventanas que aparecen al iniciar Glade), veremos que tiene cuatro pestañas
(Widget, Empaquetado, Comunes y Señales) y será en la última de ellas dónde indicaremos a Glade cual o cuales serán las
señales a las que deba responder un determinado elemento de la interfaz. En el desarrollo del ejemplo explicaremos este
aspecto con algo más de detalle.

Resonancia magnética nuclear

Llegados a este punto, hagamos un alto en el camino para presentar el problema que queremos resolver mediante una
aplicación basada en GTK. La resonancia magnética nuclear en los sólidos está asociada con los efectos din
  • Links de descarga
http://lwp-l.com/pdf10110

Comentarios de: Desarrollo de aplicaciones científicas con Glade (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad