Matlab - GUI

 
Vista:

GUI

Publicado por Seba (1 intervención) el 01/06/2003 21:14:39
Estoy desarrollando una GUI y necesito saber como desplegar desde una listbox los archivos .mat de una carpeta en particular, o de no ser así desplegar en una listbox o similar las carpetas para que el usuario muestre el camino hacia el archivo. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Desplegar archivos .mat desde una carpeta en una GUI

Publicado por Alejandro (145 intervenciones) el 05/10/2023 16:48:44
Puedes lograr esto utilizando la función `dir` para obtener la lista de archivos en una carpeta específica y luego filtrar los archivos .mat. Aquí hay un ejemplo básico para mostrar cómo hacerlo en el callback de tu GUI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function tuGUI_OpeningFcn(hObject, eventdata, handles, varargin)
    % Configurar la GUI y sus handles
 
    % Obtener la lista de archivos .mat en una carpeta específica
    carpeta = 'ruta/a/tu/carpeta';
    archivosMat = dir(fullfile(carpeta, '*.mat'));
 
    % Obtener nombres de archivos .mat y mostrarlos en la listbox
    nombresArchivos = {archivosMat.name};
    set(handles.listbox1, 'String', nombresArchivos);
 
    % Guardar la ruta de la carpeta actual en los handles
    handles.carpetaActual = carpeta;
    guidata(hObject, handles);
end
 
% Callback para la listbox
function listbox1_Callback(hObject, eventdata, handles)
    % Obtener el índice del archivo seleccionado
    index = get(hObject, 'Value');
 
    % Obtener el nombre del archivo seleccionado
    archivoSeleccionado = handles.archivosMat(index).name;
 
    % Crear la ruta completa al archivo
    rutaCompleta = fullfile(handles.carpetaActual, archivoSeleccionado);
 
    % Aquí puedes realizar las operaciones que necesites con el archivo seleccionado
    % Por ejemplo, cargar el archivo .mat y trabajar con los datos
 
    % Mostrar la ruta completa en la consola (puedes eliminar esto en la versión final)
    disp(['Archivo Seleccionado: ' rutaCompleta]);
end

Asegúrate de ajustar `'ruta/a/tu/carpeta'` con la ruta de la carpeta que deseas explorar. Este código asume que tienes una listbox llamada `listbox1` en tu GUI.

Si prefieres mostrar las carpetas en lugar de los archivos .mat, puedes modificar el código para usar `dir` y filtrar las carpetas en lugar de archivos.

Este es solo un ejemplo básico, y puedes personalizarlo según tus necesidades específicas. ¡Espero que te sea útil, Seba!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar