Ejemplo Simple de Listbox en GUIDE de MATLAB 7

download Ejemplo Simple de Listbox en GUIDE de MATLAB 7

of 12

Transcript of Ejemplo Simple de Listbox en GUIDE de MATLAB 7

Ejemplo simple de Listbox en GUIDE de MATLAB 7.0 En el siguiente ejemplo se muestra como agregar un Listbox, introducir nuevos elementos a la lista y desplegar un valor seleccionado de la lista. El cdigo se puede descargar aqu. La explicacin paso a paso va como sigue:Iniciamos tecleando guide desde la lnea de comandos de MATLAB como se muestra en la siguiente figura:

Y nos mostrar el cuadro de dialogo de GUIDE como se muestra en la imagen siguiente:

Elegimos Blank GUI (Default) y presionamos OK, dependiendo de la velocidad de la mquina con que estemos trabajando nos mostrar el siguiente cuadro de dialogo hay que esperar a que se inicialice todo.

Enseguida nos muestra la pantalla principal de GUIDE, que es donde vamos a empezar a agregar controles para hacer nuestra aplicacin.

En este punto es bueno grabarlo con un nombre, por si las dudas para si algo, para poderlo estar grabando continuamente. En este caso yo lo nombr: Ejemplo_ListBox.fig, automticamente genera el cdigo Ejemplo_ListBox.m en el que vamos a estar trabajando.A continuacin seleccionamos la herramienta Listbox y dibujamos la lista en el rea de trabajo como se puede observar en la imagen siguiente:

Una vez con el control Listbox en el rea de trabajo lo siguiente es personalizarlo, para darle un nombre e inicializarlo de requerirse as. Tenemos que dar click izquierdo sobre el control y seleccionar Property inspector como se muestra en la imagen siguiente:

Una vez seleccionado Property Inspector nos debe aparecer una ventana como se muestra a continuacin:

En la imagen anterior se muestran todas las propiedades de nuestro control, para este ejemplo solamente modificaremos los campos de:1. String: Que es bsicamente el texto que aparece en nuestra GUI2. Tag: Que es el nombre que tiene en nuestra aplicacin este objetoSi lo ejecutamos (Ctrl + T) en este momento, debemos tener una ventana como se muestra a continuacin:

Ahora vamos a agregarle un botn para mostrar en un mensaje el texto que tenemos seleccionado en el Listbox, yo lo llame miBoton y le puse Mostrar Seleccin

Ahora tenemos que agregarle cdigo al botn para que muestre lo que tenemos seleccionado, para eso tenemos que dar click derecho sobre el botn y seleccionar View Callbacks > Callback como se muestra en la imagen siguiente:

La pantalla siguiente nos lleva a nuestro editor y se muestra seleccionado el inicio del callback, notese que el callback es donde agregamos el cdigo de la accin que va a realizar nuestro objeto, en este caso el botn.

Ahora agregamos el siguiente cdigo en el miBoton_Callback:% --- Executes on button press in miBoton. function miBoton_Callback(hObject, eventdata, handles) % hObject handle to miBoton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) miTexto = get(handles.miCajaDeLista,'string') %Obtiene todos los valores de la listaindice_seleccionado = get(handles.miCajaDeLista,'Value'); %Nos dice que posicin esta seleccionadah = msgbox(miTexto,'Qu tenemos?','help') %Muestra la seleccin en una caja de textoEl cdigo anterior simplemente muestra la seleccin en una caja de texto, para mostrar como agregar items en tiempo real a la lista acomodamos el tamao de la lista y agregamos otro botn para introducir lo que nosotros necesitemos en el Listbox, como se muestra en la imagen siguiente:

A continuacin se muestra el cdigo de Agregar_Listbox_Callback, con este cdigo se agrega un nuevo Item en la lista.% --- Executes on button press in Agregar_Listbox. function Agregar_Listbox_Callback(hObject, eventdata, handles) % hObject handle to Agregar_Listbox (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Muestra un cuadro de dialogo para introducir un nuevo item en la lista prompt = {'Nombre'}; dlg_title = 'Agrega un Item a la Lista'; respuesta = inputdlg(prompt,dlg_title); % Obtiene todos el contenido de la lista t = get(handles.miCajaDeLista, 'String'); if ischar(t); t = cellstr(t); end % Agrega el nuevo Item en la lista t = [t; respuesta]; % Muestra el nuevo Item en la lista set(handles.miCajaDeLista, 'String', t); A continuacin se muestra como se ve cuando ejecutamos el GUI y le agregamos un nuevo Item.

Y como se despliega el Item seleccionado en el Listbox