Anda di halaman 1dari 12

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 GUI
2. Tag: Que es el nombre que tiene en nuestra aplicacin este objeto
Si 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 lista
indice_seleccionado = get(handles.miCajaDeLista,'Value'); %Nos dice que posicin esta
seleccionada
h = msgbox(miTexto,'Qu tenemos?','help') %Muestra la seleccin en una caja de texto
El 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

Anda mungkin juga menyukai