Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Aplicación de cuadro de lista interactiva en GUIDE

En este ejemplo se muestra cómo examinar y ejecutar una aplicación GUIDE Precompilando. La aplicación contiene un cuadro de lista que muestra los archivos en una carpeta determinada. Al hacer doble clic en un elemento de la lista, se abre el elemento.MATLAB®

Abra y ejecute el ejemplo

Abra la aplicación en GUIDE y haga clic en el botón de reproducción verde para ejecutarlo.Run Figure

Como alternativa, puede llamar a la función en la ventana de comandos con el argumento de par nombre-valor.lbox2'dir' El argumento de par nombre-valor le permite enumerar el contenido de cualquier carpeta. Por ejemplo, este comando enumera los archivos en el C:\ carpeta en un sistema Windows®:

lbox2('dir','C:\')

Antes de poder llamar en la ventana de comandos, debe guardar los archivos GUIDE en una carpeta de la ruta de acceso de MATLAB®.Note:lbox2 Para guardar los archivos, seleccione en GUIDE.File > Save As

Examine el diseño y el código de devolución de llamada

  1. En GUIDE, haga clic en el botónEditor para ver el código.

  2. Cerca de la parte superior de la ventana del editor, utilice el Go To botón para navegar a las funciones que se describen a continuación.

lbox2_OpeningFcn

La función de devolución de llamada se ejecuta justo antes de que aparezca el cuadro de lista en la interfaz de usuario por primera vez.lbox2_OpeningFcn Las siguientes instrucciones determinan si el usuario especificó un argumento de ruta de acceso a la función. Si, a continuación, los únicos argumentos de entrada a son, y.lbox2

if nargin == 3,     initial_dir = pwd; elseif nargin > 4     if strcmpi(varargin{1},'dir')         if exist(varargin{2},'dir')             initial_dir = varargin{2};         else             errordlg('Input must be a valid directory','Input Argument Error!')             return         end     else         errordlg('Unrecognized input argument','Input Argument Error!');         return;     end end
nargin==3lbox2_OpeningFcnhObjecteventdatahandles Por lo tanto, el usuario no especifica una ruta de acceso cuando se llama, por lo que el cuadro de lista muestra el contenido de la carpeta actual.lbox2 Si, a continuación, el argumento de entrada contiene dos elementos adicionales (lo que sugiere que el usuario sí especifica una ruta de acceso).nargin>4varargin Por lo tanto, las instrucciones subsiguientes se verian para ver si la ruta de acceso es válida.if

listbox1_callback

La función de devolución de llamada se ejecuta cuando el usuario hace clic en un elemento del cuadro de lista.listbox1_callback Esta instrucción, cerca del principio de la función, devuelve cada vez que el usuario hace doble clic en un elemento en el cuadro de lista: si esa condición es, a continuación, determina qué elemento de cuadro de lista seleccionó el usuario: el resto del código de esta función de devolución de llamada determina cómo abrir el s elemento elegido en función de si el elemento es una carpeta, un archivo FIG u otro tipo de archivo:true

if strcmp(get(handles.figure1,'SelectionType'),'open')
truelistbox1_callback
index_selected = get(handles.listbox1,'Value'); file_list = get(handles.listbox1,'String'); filename = file_list{index_selected};
    if  handles.is_dir(handles.sorted_index(index_selected))         cd (filename)         load_listbox(pwd,handles)     else         [path,name,ext] = fileparts(filename);         switch ext             case '.fig'                 guide (filename)             otherwise                 try                     open(filename)                 catch ex                     errordlg(...                       ex.getReport('basic'),'File Type Error','modal')                 end         end     end

Temas relacionados