Adding multiple items in GUI listbox?
7 次查看(过去 30 天)
显示 更早的评论
Hello Everyone,
I am a newbie at Matlab. I am trying to create a listbox and populate it with audio filenames that is select by the user with upload pushbutton. I did it successfully, however when I try to select a different file by clicking the upload push button, the file names concat. I want the filename in a different line (i.e, value 2 of listbox)
This is what I did!
global SoundNameArray;
[filename, filepath, cCheck] = uigetfile('*.mp3', ... 'Select an audio file','MultiSelect','on');
SoundNameArray = [SoundNameArray filename];
h = msgbox(SoundNameArray);
% Check if the user selected one file or multiple
if(cCheck ~=0)
%Reset selection to first entry
set(handles.select_audio, 'Value', 1);
%Show selected file names in the listbox
set(handles.select_audio,'String', SoundNameArray);
else
end
I would be really grateful if anyone could help. Merry Christmas :)
0 个评论
采纳的回答
Walter Roberson
2017-12-26
The third output of uigetfile is the filter index, which will only be 0 if no file is selected.
With multiselect on, the filename will be a simple character vector if only one file is selected but will be a cell array of character vectors if more than one is selected. In order to have your listbox list multiple items you should be passing a cell array of character vectors as the string property. The easiest way to fix the code is to use
SoundNameArray = [SoundNameArray cellstr(fullfile(filepath, filename)) ];
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!