Filter löschen
Filter löschen

GUI use of ListBox error:??? Attempt to reference field of non-structure array.

1 Ansicht (letzte 30 Tage)
Hallo!
I used GUIDE to build a simple GUI in Matlab.
I'd like to upload multiple images with this function linked to a push button
-
% --- Executes on button press in upload.
function upload_Callback(hObject, eventdata, handles)
[filename, foldername] = uigetfile({'*.*'}, 'Select file');
[handles.filename, handles.pathname] = uigetfile({'*.jpg'},'Select file','MultiSelect');
if
handles.filename ~= 0
handles.FileName = fullfile(handles.pathname, handles.filename);
end
-
and store all images in a ListBox first to execute them toghether.
The code into the list box is:
-
% --- Executes on selection change in listbox1.
function listbox1_Callback(hObject, eventdata, handles)
prev_list = get(handles.listbox1,'string')
vars = get(handles.upload.filename , 'Value');% new item form upload
display(vars);
new_list = [prev_list , vars ]
set(handles.listbox1,'string',new_list);
-
On the command get, when I try to create the new variable vars appear this error
-
??? Attempt to reference field of non-structure array.
Error in ==> interfaccia>listbox1_Callback at 94
vars = get(handles.upload.filename , 'Value');% new item form upload
-
What is my mistake?
Thank you in advance for your support.
Emanuele

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Okt. 2015
function upload_Callback(hObject, eventdata, handles)
[filenamesCell, pathname] = uigetfile({'*.jpg'},'Select file(s)','MultiSelect');
if ~isnumeric(filenamesCell)
oldlist = cellstr( get(handles.listbox1, 'String') );
set(handles.listbox1, 'String', [oldlist; fullfile(pathname, filenamesCell)]);
end
function listbox1_Callback(hObject, eventdata, handles)
choices = cellstr( get(hObject, 'String') );
idx_chosen = get(hObject, 'Value');
if ~isempty(idx_chosen)
chosen_file = choices{idx_chosen);
do something with chosen_file
end

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by