Documente Academic
Documente Profesional
Documente Cultură
OBJETIVOS Al terminar ste mdulo el estudiante estar en condiciones de: Definir el trmino GUI. Iniciar GUI de Matlab desde Windows. Utilizar el entorno de la interfaz grfica 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 Esttico Copiar informacin 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.
INTRODUCCIN
En el mdulo 4 se analiza el uso de las funciones matemticas ms importantes para aplicaciones de ingeniera. Este mdulo hace una introduccin de las caractersticas disponibles de la interfaz grfica de usuario en Matlab y lo familiariza con las herramientas que componen el entorno de programacin GUI tales como el botn de control, cuadro de texto, etiquetas y ejes, que hacen parte de las herramientas del cuadro de herramientas y las barras de herramientas que estn 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 programacin. Cuando usted disea un programa en un lenguaje de programacin convencional, ms 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 lnea o un bloque de cdigo. Cuando escribe un programa utilizando la GUI, se ahorra automticamente un importante tiempo de trabajo. En muchos casos, la GUI le proporciona el cdigo general que la computadora necesita para realizar muchas de las tareas que usted desea. Entonces aade y personaliza el cdigo que la GUI le proporciona para crear aplicaciones ms especficas. Esta forma de proceder lo libera de tener que escribir todo el cdigo que necesita para realizar tareas repetitivas como manejo de operaciones del teclado o del ratn, y dibujo de ventanas en pantalla. Con la GUI, usted puede centrar su atencin en trabajo ms creativo, por ejemplo, escribir el cdigo que implementa aquello que es realmente nuevo y diferente en la aplicacin que est desarrollando.
Universidad del Atlntico- Ingeniera Qumica
Qu es GUIDE ? GUIDE es el Desarrollo del Entorno de la Interfaz Grfica de Usuario de Matlab, que suministra un conjunto de herramientas para crear la Interfaz Grfica de Usuario (GUI). Estas herramientas simplifican el proceso de poner y programar la GUI.
El formulario de la Interfaz Grfica de Usuario. Usando el Editor de Diseo de GUIDE, se puede crear una GUI, pulsando y arrastrando objetos GUI, tales como, eje, botn radio, control de botn, editor de texto y barras de desplazamiento al rea de diseo. Cuando iniciemos la GUI, aparecer un formulario implcito llamado figura, que comprende el fondo de la pantalla, una cuadricula estndar y los elementos de la interfaz que se pueden utilizar para nuestro programa GUI. Puede ajustar el tamao del formulario mediante el uso del ratn; 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 aaden 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. Despus de haber aadido 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 aadir dibujos, etiquetas, botones, cuadros de listas, barras de desplazamientos, ejes y figuras geomtricas a una GUI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Figura 5.1 Cuadro de herramientas
Universidad del Atlntico- Ingeniera Qumica
1. 2. 3. 4. 5. 6. 7. 8. 9.
Puntero Control de Botn Barra de desplazamiento Botn de opcin Botn de verificacin Cuadro de texto. Etiqueta Men emergente Cuadro de lista
10. Botn de madera 11. Ejes 12. Tablero 13. Botn de grupo 14. Control ActiveX 15. Tabla
La ventana Propiedades.
La ventana propiedades permite modificar las caractersticas o valores de propiedad de los elementos de GUI dentro de un formulario. La asignacin de valores es una cualidad de uno de los objetos de la GUI. Por ejemplo, se puede variar su tamao o su alineacin y su color. Para modificar los valores de propiedad se utilizar la ventana propiedades, mientras creamos la GUI, o mediante cdigo 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 fsico, incluye una serie de caractersticas propias. Tiene marca, color, pedales, frenos y ruedas, adems de pertenecer a un cierto tipo de bicicletas. (Puede ser una bicicleta de paseo, de carreras). En trminos de la GUI, estas caractersticas son propiedades del objeto bicicleta.
Aparecer la ventana GUIDE Quick Start sealando el icono Blanck GUI (Default), tal como se muestra en la figura 5.2
Figura 5. 2 Ventana de inicio de la GUI. 4. Pulse la tecla OK. Aparecer el entorno de la interfaz grfica de usuario, tal como se muestra en la figura 5.3
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 ratn 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 grfica del proyecto Hola_3. Los objetos controles de botn se utilizan para obtener la entrada ms bsica de un usuario. Cuando un usuario pulsa un control de botn, se le pide que especifique inmediatamente la accin que llevar a cabo en el programa. En trminos de GUI, el usuario est utilizando el control de botn para crear un suceso que necesita ser procesado en el programa. Los controles de botn
Universidad del Atlntico- Ingeniera Qumica
ms habituales en un programa son el botn Aceptar, que se utiliza para aceptar una lista de opciones y para indicar que se est preparado para proceder; el botn Cancelar, que se pulsa para despreciar una lista de opciones y el botn Salir, que se pulsa para abandonar el programa. En cada caso, el diseador del programa necesitar crear los botones, de forma que cuando se pulsen funcionen como de ellos se espera. Las caractersticas de un control de botn se modifican (al igual que las del resto de objetos) mediante el establecimiento de propiedades y referencias al objeto en el cdigo de programa. Los objetos cuadros de texto, son controles muy verstiles que permiten obtener informacin 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 diseo en la ventana propiedades, en tiempo de ejecucin si la establece en el cdigo de programa y mediante el texto que escribe el usuario en tiempo de ejecucin.
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 fcil de establecer las propiedades de todos los objetos de un formulario( o figura). Para abrir la ventana Property Inspector, pulse dos veces con el botn izquierdo del ratn, el control de botn 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 dems propiedades. Objeto Edit Text Propiedad String Tag Style String Tag String Tag Valor Vaco edit1 text Aceptar aceptar Salir salir
El valor vaco significa que debe borrar el valor actual y dejar la propiedad en blanco.
Escribir el cdigo.
La ventana Editor de cdigo es el lugar donde se escribe el cdigo de la GUI para su proyecto. Para abrir la ventana cdigo, pulse dos veces el botn Aceptar con el botn derecho del ratn, seale View Callback y pulse Callback. Guarde su proyecto como Hola_3. La figura 5.7 muestra las secuencias para abrir la ventana Editor de cdigo.
Ejecutar el proyecto
Para ejecutar el proyecto en la barra de herramientas. 1. Elija el icono ejecutar 2. Pulse el botn Aceptar y ver cmo aparece Hola, GUIDE de MATLAB en el cuadro de texto, tal cmo muestra la figura 5.8
Figura 5.8 Salida del proyecto Hola_3 3. Para salir de la aplicacin, pulse el botn Salir.
LISTADO 5.1
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})
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) set(handles.edit1,'String','Hola,GUIDE de MATLAB'); set % --- Executes on button press in salir. function salir_Callback(hObject, eventdata, handles) close(gcbf) close
handles
Sentencias Una sentencia es una declaracin simple, comando o clculo que termina con un punto y coma. La sentencia siguiente fue tomada de la aplicacin Hola_3 set(handles.edit1, String , Hola,GUIDE de MATLAB ) ; Una sentencia compuesta es un grupo de dos sentencias o ms combinadas en una sentencia ms larga. Por ejemplo, las dos sentencias despus de la sentencia while: while (1+ eps) > 1 eps = eps/2; num= num + 1; end Variables Una variable es una ubicacin con nombre en memoria, un lugar para que un programa almacene informacin. Una vez dados, los nombres simblicos eficaces, las variables le ayudan a modelar el problema que est resolviendo. Ejemplos de variables en la aplicacin 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 grficos son colocados.
10
Proyecto Un proyecto es una coleccin de archivos ( con extensiones .m y .fig ) que se usan para generar una aplicacin.
Qu es un objeto?
Un objeto es una combinacin de cdigo y datos que se puede tratar como una unidad. Un objeto puede ser una parte de una aplicacin, como un control o un formulario( o figura). Tambin puede ser un objeto una aplicacin entera.
Evento
Un evento es una accin reconocida por un objeto, como hacer clic con el ratn o presionar un botn, y puede escribir cdigo que corresponda a ese evento.
Cadena de caracteres
Es una expresin o texto encerrado con apstrofos. Por ejemplo en el proyecto Hola_3 : Hola, GUIDE de MATLAB es una cadena de caracteres.
11
Manejadores de objetos
En Matlab, cada objeto tiene un identificador asociado, llamado manejador, que es un nmero de doble precisin. 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 creacin de objetos, devuelven los manejadores de los objetos que ellos crean. Adems del men de la ventana Figure y de las caractersticas de la barra de herramientas en Matlab, la funcin inspect( ) suministra una GUI para inspeccin y modificacin de propiedades de objetos. Para utilizar esta funcin simplemente escriba en la lnea 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.
12
Tabla 5.1 Propiedades comunes para varios controles de la GUI Propiedad Descripcin HorizontalAlignment. Se justifica a la izquierda, al centro o a la derecha. BackgroundColor Especfica 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. Contiene el texto que muestra el control. Este texto no lo puede modificar el usuario. Es el nombre que muestra el cdigo de programa. No lo puede modificar el usuario Permite establecer las diferentes propiedades de la fuente que se utilizar en el control.
String
Tag
FontName
ForegroundColor
Especfica 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 ejecucin o no. Determina el estilo del control, si es de texto, barra de desplazamiento, botn radio etc. Especfica el ancho y la altura del control y las distancias x , y.
Visible
Style
Position
Enable
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 cdigo Callback inmediatamente despus de que el objeto se cree. Ejecuta el cdigo Callback inmediatamente antes de que el objeto se borre.
CreateFcn
DeleteFcn
13
EJEMPLO 5.2
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 ejecucin, cuando se haga clic en el control de botn. Establezca las propiedades siguientes: Objeto Edit Text Propiedad String Tag Style String Tag Style Visible String Tag String Tag Valor Vaco salida edit BIENVENIDO AL MUNDO GUIDE entrada text off Entrar entrar Salir salir
Static Text
1. Site los controles y expanda los cuadros adecuadamente para que su GUI presente una ilustracin como muestra la figura 5.9:
14
2. Pulse dos veces el botn Entrar con el botn derecho del ratn, seale View Callback y pulse Callback. Escriba la siguiente sentencia: a=get(handles.entrada,'String'); set(handles.salida,'String',a); guidata(hObject,handles); Despus de: function entrar_Callback (hObject, eventdata, handles): 3. Pulse dos veces el botn Salir con el botn derecho del ratn, seale View Callback y pulse Callback. Escriba la siguiente sentencia: close (gcbf) Despus de: function salir_Callback (hObject, eventdata, handles): : 4. Elija el icono ejecutar en la barra de herramientas. 5. Pulse el botn Entrar y ver cmo aparece BIENVENIDO AL GUIDE en el cuadro de texto, tal cmo muestra la figura 5.10 MUNDO
15
El proyecto consiste en extraer la raz de un nmero que se edita en el control Edit Text, en tiempo de ejecucin, cuando se haga clic en el control de botn Calcular. Establezca las propiedades siguientes: Objeto Edit Text Propiedad Valor String Vaco Tag edit1 Style edit String Introduzca el nmero para extraerle la raz cuadrada. Tag text1 Style text Visible on String Vaco Tag text2 String Calcular Tag calcular
Static Text 1
1. Site los controles y expanda los cinco adecuadamente para que su GUI presente una ilustracin como muestra la figura 5.10:
2. Pulse dos veces el botn Calcular con el botn derecho del ratn, seale View Callback y pulse Callback. Escriba la siguiente sentencia:
16
3. Pulse dos veces el botn Salir con el botn derecho del ratn, seale View Callback y pulse Callback. Escriba la siguiente sentencia: close (gcbf) Despus de: function salir_Callback (hObject, eventdata, handles): : 4. Elija el icono ejecutar en la barra de herramientas. 5. Introduzca el nmero para extraerle la raz y pulse el botn Calcular y ver cmo aparece el valor calculado en el control Static Text , tal cmo muestra la figura 5.11
Figura 5.11 Salida del proyecto Raz_cuad. RESUMEN DE LOS CONTROLES UTILIZADOS Para proporcionar esta caracterstica Texto que el usuario pueda introducir o modificar Texto que slo se muestra; que se puede cambiar dinmicamente en tiempo de diseo o en tiempo de ejecucin si la propiedad se asigna en el cdigo Para permitir que el usuario interactu con una aplicacin. Use este control
17
18
19