Azzera filtri
Azzera filtri

Populate filenames into a GUI listbox..

2 visualizzazioni (ultimi 30 giorni)
Hey all,
Although i managed to sort (via help from Star Strider) to get only wav files loaded into a listdlg, i now have a GUI (designed through GUIDE) and need to do the same with the listbox i created on there..
The code i have for the simple listdlg is:
d = dir('*.wav'); % Select Only ‘.wav’ Files
str = {};
[s,v] = listdlg('PromptString','Select a wav file:',...
'ListSize', [160 160],...
'Name', 'Choose Audio File..',...
if v
wav_name = str{s}; % File Name Of Selected File
wav_path = which(wav_name); % Path Of Selected File
fprintf(1, '\tNo file was selected.\n')
Obviously this code won't work with the GUI listbox so could someone point me in the right direction to get this working please :)
I've read a few threads on here and on other websites but i can't get them to work correctly.
I presume the goes in the listbox1_CreateFcn section?

Risposta accettata

Ilham Hardy
Ilham Hardy il 19 Nov 2015
To populates the listbox you can use
and put the code in the _OpeningFcn of the GUI (created by GUIDE)
  2 Commenti
Edmund Paul Malinowski
Edmund Paul Malinowski il 19 Nov 2015
Hey Ilham,
Thanks for your reply. This is the code i put in the OpeningFcn section:
d = dir('*.wav'); % Select Only ‘.wav’ Files
str = {};
set(handles.listbox1,'String',{str}); %set string
....but it kicks up the following error. Any ideas why?
Error in>@(hObject,eventdata)EPM_gui_form('listbox1_CreateFcn',hObject,eventdata,guidata(hObject))
Error using matlab.ui.control.UIControl/set
While setting the 'String' property of 'UIControl':
Cell arrays input to String property may only contain character and numeric matrices.
Error in EPM_gui_form>EPM_gui_form_OpeningFcn (line 66)
set(handles.listbox1,'String',{str}); %set string
Error in gui_mainfcn (line 220)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});
Error in EPM_gui_form (line 34)
gui_mainfcn(gui_State, varargin{:});
Edmund Paul Malinowski
Edmund Paul Malinowski il 19 Nov 2015
Never mind :) i sussed it. The following line:
set(handles.listbox1,'String',{str}); %set string
...i had {} around the array name str. Got rid of them and bingo :) so now it reads:
set(handles.listbox1,'String',str); %set string

Accedi per commentare.

Più risposte (0)


Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by