MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico-...

19
Universidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I) OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de: Definir el término GUI. Iniciar GUI de Matlab desde Windows. Utilizar el entorno de la interfaz gráfica de usuario (GUI). Establecer las propiedades de un objeto. Utilizar el cuadro de herramientas. Utilizar la ventana Propiedades. Utilizar el control de botones para realizar acciones. Utilizar el control Texto Estático Copiar información desde y hacia los cuadros de textos. Utilizar el control cuadro de texto para mostrar é introducir texto. Construir y ejecutar su primer programa. Guardar su programa y salir de Matlab. INTRODUCCIÓN En el módulo 4 se analiza el uso de las funciones matemáticas más importantes para aplicaciones de ingeniería. Este módulo hace una introducción de las características disponibles de la interfaz gráfica de usuario en Matlab y lo familiariza con las herramientas que componen el entorno de programación GUI tales como el botón de control, cuadro de texto, etiquetas y ejes, que hacen parte de las herramientas del cuadro de herramientas y las barras de herramientas que están localizadas en la ventana formulario ( o figura). Aprender a programar con la GUI es considerablemente diferente de aprender a desarrollar software en otros lenguajes de programación. Cuando usted diseña un programa en un lenguaje de programación convencional, más antiguo como C, QBasic o Pascal, generalmente tiene que hacerlo todo por sí mismo; cada vez que desea que la computadora haga algo, necesita escribir una línea o un bloque de código. Cuando escribe un programa utilizando la GUI, se ahorra automáticamente un importante tiempo de trabajo. En muchos casos, la GUI le proporciona el código general que la computadora necesita para realizar muchas de las tareas que usted desea. Entonces añade y personaliza el código que la GUI le proporciona para crear aplicaciones más específicas. Esta forma de proceder lo libera de tener que escribir todo el código que necesita para realizar tareas repetitivas como manejo de operaciones del teclado o del ratón, y dibujo de ventanas en pantalla. Con la GUI, usted puede centrar su atención en trabajo más creativo, por ejemplo, escribir el código que implementa aquello que es realmente nuevo y diferente en la aplicación que está desarrollando. 5 5

Transcript of MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico-...

Page 1: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 1

MÓDULO SOBRE PROGRAMACIÓN MATLAB

INTERFAZ GRÁFICA DE USUARIO (GUI) (I) OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de:

� Definir el término GUI. � Iniciar GUI de Matlab desde Windows. � Utilizar el entorno de la interfaz gráfica de usuario (GUI). � Establecer las propiedades de un objeto. � Utilizar el cuadro de herramientas. � Utilizar la ventana Propiedades. � Utilizar el control de botones para realizar acciones. � Utilizar el control Texto Estático � Copiar información desde y hacia los cuadros de textos. � Utilizar el control cuadro de texto para mostrar é introducir texto. � Construir y ejecutar su primer programa. � Guardar su programa y salir de Matlab.

INTRODUCCIÓN

En el módulo 4 se analiza el uso de las funciones matemáticas más importantes para aplicaciones de ingeniería. Este módulo hace una introducción de las características disponibles de la interfaz gráfica de usuario en Matlab y lo familiariza con las herramientas que componen el entorno de programación GUI tales como el botón de control, cuadro de texto, etiquetas y ejes, que hacen parte de las herramientas del cuadro de herramientas y las barras de herramientas que están localizadas en la ventana formulario ( o figura). Aprender a programar con la GUI es considerablemente diferente de aprender a desarrollar software en otros lenguajes de programación. Cuando usted diseña un programa en un lenguaje de programación convencional, más antiguo como C, QBasic o Pascal, generalmente tiene que hacerlo todo por sí mismo; cada vez que desea que la computadora haga algo, necesita escribir una línea o un bloque de código. Cuando escribe un programa utilizando la GUI, se ahorra automáticamente un importante tiempo de trabajo. En muchos casos, la GUI le proporciona el código general que la computadora necesita para realizar muchas de las tareas que usted desea. Entonces añade y personaliza el código que la GUI le proporciona para crear aplicaciones más específicas. Esta forma de proceder lo libera de tener que escribir todo el código que necesita para realizar tareas repetitivas como manejo de operaciones del teclado o del ratón, y dibujo de ventanas en pantalla. Con la GUI, usted puede centrar su atención en trabajo más creativo, por ejemplo, escribir el código que implementa aquello que es realmente nuevo y diferente en la aplicación que está desarrollando.

5

5

Page 2: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 2

¿Qué es GUIDE ? GUIDE es el Desarrollo del Entorno de la Interfaz Gráfica de Usuario de Matlab, que suministra un conjunto de herramientas para crear la Interfaz Gráfica de Usuario (GUI). Estas herramientas simplifican el proceso de poner y programar la GUI.

El formulario de la Interfaz Gráfica de Usuario. Usando el Editor de Diseño de GUIDE, se puede crear una GUI, pulsando y arrastrando objetos GUI, tales como, eje, botón radio, control de botón, editor de texto y barras de desplazamiento al área de diseño. Cuando iniciemos la GUI, aparecerá un formulario implícito llamado figura, que comprende el fondo de la pantalla, una cuadricula estándar y los elementos de la interfaz que se pueden utilizar para nuestro programa GUI. Puede ajustar el tamaño del formulario mediante el uso del ratón; el formulario puede ser parte de la pantalla o puede ocupar toda la pantalla.

El cuadro de herramientas Los elementos de una GUI de un programa se añaden a un formulario(o figura) mediante el uso de herramientas o controles que proporciona el cuadro de herramientas, que actualmente se encuentra en la parte izquierda de la pantalla, se ilustra en la figura 5.1. Después de haber añadido los controles a un formulario se convierten en objetos o elementos programables de la GUI en el programa. El cuadro de herramientas contiene controles que podemos utilizar para añadir dibujos, etiquetas, botones, cuadros de listas, barras de desplazamientos, ejes y figuras geométricas a una GUI.

Figura 5.1 Cuadro de herramientas

1. Puntero

2. Control de Botón

3. Barra de desplazamiento

4. Botón de opción

5. Botón de verificación

6. Cuadro de texto.

7. Etiqueta

8. Menú emergente

9. Cuadro de lista

10. Botón de madera

11. Ejes

12. Tablero

13. Botón de grupo

14. Control ActiveX

15. Tabla

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Page 3: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 3

La ventana Propiedades.

La ventana propiedades permite modificar las características o valores de propiedad de los elementos de GUI dentro de un formulario. La asignación de valores es una cualidad de uno de los objetos de la GUI. Por ejemplo, se puede variar su tamaño o su alineación y su color. Para modificar los valores de propiedad se utilizar la ventana propiedades, mientras creamos la GUI, o mediante código de programa mientras se está ejecutando el programa. La ventana propiedades contiene un cuadro de lista desplegable de objetos en el que aparecen todos los elementos de la GUI del formulario. La figura 5.6 ilustra la ventana Propiedades. Una bicicleta es un objeto que se utiliza para desplazarse de un lugar a otro. Al tratarse de un objeto físico, incluye una serie de características propias. Tiene marca, color, pedales, frenos y ruedas, además de pertenecer a un cierto tipo de bicicletas. (Puede ser una bicicleta de paseo, de carreras). En términos de la GUI, estas características son propiedades del objeto bicicleta.

Su primer proyecto con GUI. Crear una aplicación con GUI es sencillo. Para comprobar esta afirmación pruebe el proyecto Hola, GUIDE de MATLAB. Hay tres pasos principales para crear una aplicación en la GUI:

1. Crear la GUI. 2. Establecer las propiedades. 3. Escribir el código.

Para ver cómo se realiza esto, siga los pasos del siguiente ejemplo 1 para crear una aplicación sencilla, que consiste en un editor de texto y dos controles de botón. Cuando pulse un control de botón aparecerá el mensaje “ Hola, GUIDE de MATLAB “ en el editor de texto.

Crear la interfaz gráfica de usuario. El formulario ( o figura ) es la base para crear la interfaz de una aplicación. Utilice los siguientes procedimientos para iniciar la GUI.

1. Pulse el botón inicio de Windows XP, señale a programas y señale después a la carpeta Matlab 7.0. Los iconos de la carpeta Matlab 7.0 aparecerán en una lista.

2. Pulse el icono de Matlab 7.0 o la versión más reciente. 3. En la línea de comando de Matlab escriba guide: >> guide

Aparecerá la ventana GUIDE Quick Start señalando el icono Blanck GUI (Default), tal como se muestra en la figura 5.2

Page 4: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 4

Figura 5. 2 Ventana de inicio de la GUI.

4. Pulse la tecla OK. Aparecerá el entorno de la interfaz gráfica de usuario, tal como se muestra en la figura 5.3

Figura 5.3 Entorno de desarrollo de la interfaz gráfica de usuario. EJEMPLO 5.1 USO DE PUSH BUTTON Y EDIT TEXT Para este primer proyecto, usaremos tres controles del cuadro de herramientas: Dos controles Push Button y un control Edit Text. Objetos Control

Dos Push Button

Un Edit Text

Page 5: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 5

Para dibujar un objeto mediante el cuadro de herramientas:

1. Haga clic en el control Push Button del cuadro de herramientas. 2. Mueva el puntero dentro del formulario( o figura). El puntero adoptará

la forma de cruz, mientras esté sobre el formulario( o figure). Si arrastra el ratón mientras mantiene pulsado el botón izquierdo del mismo, hacia abajo y a la derecha se ira dibujando el control Push Button. Suelte el botón izquierdo del ratón para que aparezca el control Push Button

3. Haga clic con el botón derecho del ratón en el control dibujado y

pulse Duplicate. Se crea un control Push Button del mismo tamaño que el primero. Use el ratón para arrastrar el control Push Button a otra ubicación, de tal forma que quede como muestra la figura 5.4

Figura 5.4 Dibujo de dos controles Push Button

4. Haga clic en el control Edit Text del cuadro de herramientas. 5. Coloque el puntero del ratón en la esquina superior derecha y dibuje

un control Edit Text, tal como se muestra en la figura 5.5.

Figura 5.5 La interfaz gráfica del proyecto Hola_3. Los objetos controles de botón se utilizan para obtener la entrada más básica de un usuario. Cuando un usuario pulsa un control de botón, se le pide que especifique inmediatamente la acción que llevará a cabo en el programa. En términos de GUI, el usuario está utilizando el control de botón para crear un suceso que necesita ser procesado en el programa. Los controles de botón

Page 6: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 6

más habituales en un programa son el botón Aceptar, que se utiliza para aceptar una lista de opciones y para indicar que se está preparado para proceder; el botón Cancelar, que se pulsa para despreciar una lista de opciones y el botón Salir, que se pulsa para abandonar el programa. En cada caso, el diseñador del programa necesitará crear los botones, de forma que cuando se pulsen funcionen como de ellos se espera. Las características de un control de botón se modifican (al igual que las del resto de objetos) mediante el establecimiento de propiedades y referencias al objeto en el código de programa. Los objetos cuadros de texto, son controles muy versátiles que permiten obtener información del usuario o para mostrar texto. No se deben usar cuadro de texto para mostrar texto que no desee que el usuario cambie. El texto real que muestra un cuadro de texto esta controlado por la propiedad text. Se puede establecer de tres formas diferentes: en tiempo de diseño en la ventana propiedades, en tiempo de ejecución si la establece en el código de programa y mediante el texto que escribe el usuario en tiempo de ejecución.

Establecer propiedades El siguiente paso consiste en establecer las propiedades de los objetos que ha creado. La ventana Property Inspector (figura 5.6) proporciona una manera fácil de establecer las propiedades de todos los objetos de un formulario( o figura). Para abrir la ventana Property Inspector, pulse dos veces con el botón izquierdo del ratón, el control de botón para el cual necesita establecer las propiedades. En el ejemplo Hola, GUIDE de MATLAB necesitará cambiar los valores de tres propiedades. Use el valor predeterminado para las demás propiedades. Objeto Propiedad Valor Edit Text String Vacío Tag edit1 Style text

Push Button 1 String Aceptar Tag aceptar

Push Button 2 String Salir Tag salir

El valor vacío significa que debe borrar el valor actual y dejar la propiedad en blanco.

Escribir el código. La ventana Editor de código es el lugar donde se escribe el código de la GUI para su proyecto. Para abrir la ventana código, pulse dos veces el botón Aceptar con el botón derecho del ratón, señale View Callback y pulse Callback. Guarde su proyecto como Hola_3. La figura 5.7 muestra las secuencias para abrir la ventana Editor de código.

Page 7: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 7

Figura 5.6 Ventana Propiedades Figura 5.7 Para abrir el Editor de código

Para crear un procedimiento de evento.

1. Al ejecutar la opción Callback, se abre el archivo-M asociado con el diseño y nos posiciona en la parte del programa que corresponde a la sentencia de Aceptar. Este evento se ejecutará cuando se pulse el botón Aceptar.

Escriba el siguiente código de programa:

setsetsetset( handles....edit1, ′StringStringStringString′, ′Hola, GUIDE de MATLAB′ );;;; Después de:

functionfunctionfunctionfunction aceptar_Callback(hObject, eventdata, handles) Esta sentencia modificará la propiedad String (=vacío) del Edit Text para que sea “ Hola, GUIDE de MATLAB “,cuando el usuario pulse el botón Aceptar en tiempo de ejecución. La proposición set asigna el valor de String Hola, GUIDE de MATLAB a la propiedad edit1 del objeto Edit Text. Este es un ejemplo de modificación de una propiedad en tiempo de ejecución. 2. Pulse dos veces el botón Salir con el botón derecho del ratón, señale

View Callback y pulse Callback. Escriba la siguiente sentencia: closeclosecloseclose (gcbf) Después de: ffffunction unction unction unction salir_Callback (hObject, eventdata, handles)::::

Ejecutar el proyecto Para ejecutar el proyecto

1. Elija el icono ejecutar en la barra de herramientas. 2. Pulse el botón Aceptar y verá cómo aparece “Hola, GUIDE de

MATLAB “en el cuadro de texto, tal cómo muestra la figura 5.8

Page 8: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 8

Figura 5.8 Salida del proyecto Hola_3

3. Para salir de la aplicación, pulse el botón Salir. LISTADO 5.1 CÓDIGO DEL PROGRAMA HOLA_3

function varargout = Hola_3(varargin) %{ HOLA_3 M-file for Hola_3.fig HOLA_3, by itself, creates

a new HOLA_3 or raises the existing singleton*.

H = HOLA_3 returns the handle to a new HOLA_3 or the handle

to the existing singleton*.

HOLA_3('CALLBACK',hObject,eventData,handles,...)calls the

local function named CALLBACK in HOLA_3.M with the given

input arguments. HOLA_3('Property','Value',...) creates a

new HOLA_3 or raises the existing singleton*.Starting from

the left, property value pairs are applied to the GUI

before Hola_3_OpeningFunction gets called.An unrecognized

property name orinvalid value makes property pplication

stop. All inputs are passed to Hola_3_OpeningFcn via

varargin.

*See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one instance to run (singleton)".% See also: GUIDE,

GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks,

Inc. Edit the above text to modify the response to help

Hola_3 Last Modified by GUIDE v2.5 28-Jun-2010 18:55:08

Begin initialization code - DO NOT EDIT

% } gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Hola_3_OpeningFcn,

...

'gui_OutputFcn', @Hola_3_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

Page 9: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 9

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State,

varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before Hola_3 is made visible.

function Hola_3_OpeningFcn(hObject, eventdata, handles, varargin) %{ This function has no output args, see OutputFcn.

hObject handle to figure

eventdata reserved - to be defined in a future version of

MATLAB

handles structure with handles and user data (see GUIDATA)

varargin command line arguments to Hola_3 (see VARARGIN)

Choose default command line output for Hola_3

% } handles.output = hObject; % Update handles structure

guidata(hObject, handles); %{ UIWAIT makes Hola_3 wait for user response (see

UIRESUME)uiwait(handles.figure1);

--- Outputs from this function are returned to the command

line.

% } function varargout = Hola_3_OutputFcn(hObject, eventdata, handles) %{ varargout cell array for returning output args (see

VARARGOUT); hObject handle to figure eventdata

reserved - to be defined in a future version of MATLAB

handles structure with handles and user data (see GUIDATA)

Get default command line output from handles structure

% } varargout{1} = handles.output; % --- Executes during object creation, after setting all

properties.

function edit1_CreateFcn(hObject, eventdata, handles) %{ hObject handle to edit1 (see GCBO) Eventdata

reserved - to be defined in a future version of MATLAB

handles empty -handles not created until after all

CreateFcns called --- Executes on button press in aceptar.

% } function aceptar_Callback(hObject, eventdata, handles) setsetsetset(handles.edit1,'String','Hola,GUIDE de MATLAB'); % --- Executes on button press in salir. function salir_Callback(hObject, eventdata, handles) closeclosecloseclose(gcbf)

Page 10: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 10

COMO FUNCIONA EL PROGRAMA HOLA_3 El programa Hola_3 contiene un entorno de la GUI, está equipado con un conjunto de herramientas de programación denominados Asistentes. En la GUI los Asistentes realizan secuencias de tareas por usted, de forma que no tiene que recordar toda una serie de detalles necesarios para ellas. Por ejemplo, la herramienta View Callback, puede crear una aplicación con solo seleccionar un item como Callback. La función llamada Callback es una aplicación generada por View Callback y se denomina esquema de aplicación . Un esquema de aplicación es un programa mínimo de Matlab, que usted personaliza añadiendo el código de propósito especializado que requiere su aplicación. Callback, se ocupa también de insertar el código que ha escrito en los puntos adecuados de su programa. A continuación usted puede añadir el código que necesite para hacer que su aplicación responda a los eventos del usuario de la forma en que usted desee. Esta es la función Callback en el programa Hola_3:

function aceptar_Callback(hObject, eventdata, handlesfunction aceptar_Callback(hObject, eventdata, handlesfunction aceptar_Callback(hObject, eventdata, handlesfunction aceptar_Callback(hObject, eventdata, handles). Contiene los siguientes parámetros: Parámetro Descripción hObject El manejador de objeto que Callback está ejecutando eventdata Este parámetro no se usa para manejar estructuras de objetos en la GUI, los nombres son especificados por la propiedad Tag del objeto. handles Manejadores de estructuras de objetos.

Sentencias Una sentencia es una declaración simple, comando o cálculo que termina con un punto y coma. La sentencia siguiente fue tomada de la aplicación Hola_3

set(handles.edit1,瀞String瀞,瀞Hola,GUIDE de MATLAB瀞) ; Una sentencia compuesta es un grupo de dos sentencias o más combinadas en una sentencia más larga. Por ejemplo, las dos sentencias después de la sentencia while: while (1+ eps) > 1 eps = eps/2; num= num + 1; end Variables Una variable es una ubicación con nombre en memoria, un lugar para que un programa almacene información. Una vez dados, los nombres simbólicos eficaces, las variables le ayudan a modelar el problema que está resolviendo. Ejemplos de variables en la aplicación Hola_3, está la variable que lleva su propio nombre Hola_3, la variable struct y la variable Hola_3_OutputFcn. Figure Es la ventana figura en que otros objetos gráficos son colocados.

Page 11: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 11

Proyecto Un proyecto es una colección de archivos ( con extensiones .m y .fig ) que se usan para generar una aplicación.

¿Qué es un objeto? Un objeto es una combinación de código y datos que se puede tratar como una unidad. Un objeto puede ser una parte de una aplicación, como un control o un formulario( o figura). También puede ser un objeto una aplicación entera.

Evento Un evento es una acción reconocida por un objeto, como hacer clic con el ratón o presionar un botón, y puede escribir código que corresponda a ese evento.

Botones para realizar acciones La forma más sencilla de permitir al usuario interactuar con una aplicación es proporcionar un botón que haga clic en él. Puede usar el control de botón de comando (Push Button) que proporciona GUIDE en la GUI.

Controles para mostrar e introducir texto. Los controles de texto estático y cuadros de texto se usan para mostrar o introducir texto. Utilice etiquetas (o encabezados) cuando desee que la aplicación muestre texto en un formulario (o figura) y utilice cuadros de texto cuando desee permitir al usuario escribir texto. Las etiquetas (o encabezados) contienen texto que sólo se pueden leer, mientras los cuadros de texto contienen texto que se puede modificar.

Establecer los valores de las propiedades. Establezca el valor de una propiedad cuando desee modificar la apariencia o el comportamiento de un objeto. Por ejemplo, en el proyecto Hola_3, modifique la propiedad edit1 de un cuadro de texto para modificar el contenido de String del Edit Text. Para establecer el valor de una propiedad, utilice la sintaxis siguiente: set (handles. objeto, propiedad, ʹ cadena de caracteres ʹ ) La instrucción siguiente muestra como se establecen las propiedades:

set(set(set(set(handles.edit1,'String','Hola,GUIDE de MATLAB'handles.edit1,'String','Hola,GUIDE de MATLAB'handles.edit1,'String','Hola,GUIDE de MATLAB'handles.edit1,'String','Hola,GUIDE de MATLAB' ) ) ) )

Cadena de caracteres Es una expresión o texto encerrado con apóstrofos. Por ejemplo en el proyecto Hola_3 : ′ Hola, GUIDE de MATLAB ′ es una cadena de caracteres.

Las funciones get ( ) y set ( ) Las dos funciones get y set se usan para obtener o cambiar las propiedades del objeto Manejador de Gráficos (Handle Graphics). La función get( ),retorna el valor actual de una o más propiedades de un objeto. Para establecer el valor de una propiedad, utilice la sintaxis siguiente:

get(handles, NombrePropiedad) La función set( ), Asigna o cambia los valores de las propiedades del objeto Manejador de Gráficos(Handle Graphics). Para establecer el valor de una propiedad, utilice la sintaxis siguiente:

set(handles.NombrePropiedad,ValorPropiedad)

Page 12: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 12

Manejadores de objetos En Matlab, cada objeto tiene un identificador asociado, llamado manejador, que es un número de doble precisión. Cada vez que un objeto se crea, se crea un único manejador para ese objeto. El comando H_fig = figure(ʹColorʹ,ʹyellowʹ) crea una nueva figura y devuelve su manejador en la variable H_fig. Todas las funciones de creación de objetos, devuelven los manejadores de los objetos que ellos crean. Además del menú de la ventana Figure y de las características de la barra de herramientas en Matlab, la función inspect( ) suministra una GUI para inspección y modificación de propiedades de objetos. Para utilizar esta función simplemente escriba en la línea de comando de Matlab: >> inspect(figure(′Color′,′yellow′)). Aparece la ventana de propiedades del objeto figure.

Manejo de controles El cuadro de herramientas contiene el conjunto de controles que se utilizan en sus proyectos. Este cuadro no limita la cantidad de controles que puede colocar en un formulario; en otras palabras, puede colocar todos los controles que quiera en el formulario. Muchos de los controles tienen propiedades similares. En la tabla 5.1 se presenta una lista de algunas propiedades comunes que se encuentran en la mayor parte de los controles. Recuerde que todos los controles tienen predefinidos todos sus valores de propiedad. En cuanto coloque un control, la GUI utiliza un conjunto de valores de propiedades predeterminados. En algunos casos muchos valores predeterminados funcionan bien. No será necesario cambiar todos los valores predeterminados.

Page 13: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 13

Tabla 5.1 Propiedades comunes para varios controles de la GUI Propiedad Descripción HorizontalAlignment. BackgroundColor

Se justifica a la izquierda, al centro o a la derecha. Específica el color de segundo plano del control. Se selecciona de una paleta de colores cuando se abre el cuadro de lista desplegable que se encuentra a su derecha.

String

Tag

FontName

ForegroundColor Visible Style Position Enable CreateFcn

DeleteFcn

Contiene el texto que muestra el control. Este texto no lo puede modificar el usuario. Es el nombre que muestra el código de programa. No lo puede modificar el usuario Permite establecer las diferentes propiedades de la fuente que se utilizará en el control. Específica el color del primer plano. Se selecciona de una paleta de colores cuando abre el cuadro de lista desplegable de colores que se encuentra a su derecha.

Determina si un control estará a la vista en tiempo de ejecución o no. Determina el estilo del control, si es de texto, barra de desplazamiento, botón radio etc.

Específica el ancho y la altura del control y las distancias x , y.

Permite que el control responda o no a eventos. Si se encuentra en on, el control puede responder a eventos, en off e inactive no responde. Ejecuta el código Callback inmediatamente después de que el objeto se cree. Ejecuta el código Callback inmediatamente antes de que el objeto se borre.

Page 14: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 14

EJEMPLO 5.2 USO DEL CONTROL STATIC TEXT Para este segundo proyecto, usaremos cuatro controles del cuadro de herramientas: Dos controles Push Button, un control Edit Text y un control Static Text. Nombre del proyecto: Pro_Hola. Objetos Control

Dos Push Button

Un Edit Text.

Un Static Text El proyecto consiste en copiar el texto que se encuentra en el control Static Text al control Edit Text, en tiempo de ejecución, cuando se haga clic en el control de botón. Establezca las propiedades siguientes: Objeto Propiedad Valor

Edit Text String Vacío Tag salida Style edit

Static Text String BIENVENIDO AL MUNDO GUIDE Tag entrada Style text Visible off

Push Button 1 String Entrar Tag entrar

Push Button 2 String Salir Tag salir

1. Sitúe los controles y expanda los cuadros adecuadamente para que su GUI

presente una ilustración como muestra la figura 5.9:

Figura 5.9 Interfaz grafica de usuario para el ejemplo 2

Page 15: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 15

2. Pulse dos veces el botón Entrar con el botón derecho del ratón, señale View Callback y pulse Callback.

Escriba la siguiente sentencia:

a=get(handles.entrada,'String');

set(handles.salida,'String',a);

guidata(hObject,handles); Después de:

function entrar_Callback (hObject, eventdata, handles):

3. Pulse dos veces el botón Salir con el botón derecho del ratón, señale View Callback y pulse Callback.

Escriba la siguiente sentencia: closeclosecloseclose (gcbf) Después de:

function function function function salir_Callback (hObject, eventdata, handles)::::

4. Elija el icono ejecutar en la barra de herramientas. 5. Pulse el botón Entrar y verá cómo aparece “BIENVENIDO AL MUNDO

GUIDE “en el cuadro de texto, tal cómo muestra la figura 5.10

Figura 5.10 Salida del proyecto Pro_Hola

EJEMPLO 5.3 USO DE STATIC TEXT, PUSH BUTTON Y EDIT TEXT Para este tercer proyecto, usaremos cinco controles del cuadro de herramientas: Dos controles Push Button, un control Edit Text y dos controles Static Text. Nombre del proyecto: Raíz_cuad Objetos Control

Dos Push Button

Un Edit Text.

Dos Static Text

Page 16: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 16

El proyecto consiste en extraer la raíz de un número que se edita en el control Edit Text, en tiempo de ejecución, cuando se haga clic en el control de botón ‘Calcular’. Establezca las propiedades siguientes: Objeto Propiedad Valor

Edit Text String Vacío Tag edit1 Style edit

Static Text 1 String Introduzca el número para extraerle la raíz cuadrada. Tag text1 Style text Visible on

Static Text 2 String Vacío Tag text2

Push Button 1 String Calcular Tag calcular

1. Sitúe los controles y expanda los cinco adecuadamente para que su

GUI presente una ilustración como muestra la figura 5.10:

Figura 5.10 Interfaz grafica de usuario para el ejemplo 3

2. Pulse dos veces el botón Calcular con el botón derecho del ratón, señale View Callback y pulse Callback.

Escriba la siguiente sentencia:

a=str2double(get(handles.edit1,'String'));

x=a;

R=sqrt(x);

str=sprintf('%g',R);

set(handles.edit1,'String',' ');

set(handles.text2,'String',str);

Después de:

function calcular_Callback (hObject, eventdata, handles):

Page 17: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 17

3. Pulse dos veces el botón Salir con el botón derecho del ratón, señale View Callback y pulse Callback.

Escriba la siguiente sentencia: close (gcbf)

Después de:

function salir_Callback (hObject, eventdata, handles)::::

4. Elija el icono ejecutar en la barra de herramientas. 5. Introduzca el número para extraerle la raíz y pulse el botón Calcular y

verá cómo aparece el valor calculado en el control Static Text , tal cómo muestra la figura 5.11

Figura 5.11 Salida del proyecto Raíz_cuad. RESUMEN DE LOS CONTROLES UTILIZADOS Para proporcionar esta característica Use este control Texto que el usuario pueda introducir o modificar Edit text ( texto editable) Texto que sólo se muestra; que se puede cambiar dinámicamente en tiempo de diseño o en tiempo de ejecución si la propiedad se asigna en el código Static text(Texto estático) Para permitir que el usuario interactué con una aplicación. Push Button ( Botón de comando)

Page 18: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 18

Page 19: MÓDULO SOBRE PROGRAMACIÓN MATLAB · PDF fileUniversidad del Atlántico- Ingeniería Química 1 MÓDULO SOBRE PROGRAMACIÓN MATLAB INTERFAZ GRÁFICA DE USUARIO (GUI) (I)

Universidad del Atlántico- Ingeniería Química 19