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

조회 수: 6 (최근 30일)
Ellis Berry
Ellis Berry 2016년 3월 2일
댓글: mechE 2019년 5월 13일
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

답변 (1개)

Orion
Orion 2016년 3월 2일
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
Jan
Jan 2016년 3월 2일
Less chances for creating a bug by a typo :-) And no warnings for a missing pre-allocation.
mechE
mechE 2019년 5월 13일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by