Effacer les filtres
Effacer les filtres

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

5 vues (au cours des 30 derniers jours)
Ellis Berry
Ellis Berry le 2 Mar 2016
Commenté : mechE le 13 Mai 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

Réponses (1)

Orion
Orion le 2 Mar 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 commentaires
Jan
Jan le 2 Mar 2016
Less chances for creating a bug by a typo :-) And no warnings for a missing pre-allocation.
mechE
mechE le 13 Mai 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by