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

1 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2015-10-6
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by