How to populate Listbox in GUI with all files from a folder.

17 visualizaciones (últimos 30 días)
Ellis Berry
Ellis Berry el 2 de Mzo. de 2016
Comentada: mechE el 13 de Mayo de 2019
Hi Everybody, What I want is quite simple but I'm struggling tremendously trying to do it. I have a GUI with a 'Browse' button that I want the user to be able to click, choose a folder and then all the files in that folder are listed in the listbox. I seem to be able to get as far as browsing files by simply using the uigetdir syntax but when I select a folder it wont load to the listbox. Any ideas?
Cheers, Ellis

Respuestas (1)

Orion
Orion el 2 de Mzo. de 2016
Hi Ellis,
let say you have one pushbutton and one listbox (tagged pushbutton1 and listbox1 with GUIDE).
in the callback of your pushbutton, you should do something like :
function pushbutton1_Callback(hObject, eventdata, handles)
% get the folder
folder_name = uigetdir;
% get what is inside the folder
Infolder = dir(folder_name);
% Initialize the cell of string that will be update in the list box
MyListOfFiles = [];
% Loop on every element in the folder and update the list
for i = 1:length(Infolder)
if Infolder(i).isdir==0
MyListOfFiles{end+1,1} = Infolder(i).name;
end
end
% update the listbox with the result
set(handles.listbox1,'String',MyListOfFiles)
That should do it
  4 comentarios
Jan
Jan el 2 de Mzo. de 2016
Less chances for creating a bug by a typo :-) And no warnings for a missing pre-allocation.
mechE
mechE el 13 de Mayo de 2019
How to do the same thing in a colum table in ui. I want to populate the colum of a table in the same way but I am getting some java string error.

Iniciar sesión para comentar.

Categorías

Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by