GUI: Can't access data from another callback function with handles

2 visualizzazioni (ultimi 30 giorni)
I'm using GUIDE, and I've imported data like this:
function control_browse_button_Callback(hObject, eventdata, handles)
% hObject handle to control_browse_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of control_browse_button
[control_file control_pathname] = uigetfile({'*.xlsx'}, 'File Selector');
set(handles.control_filename,'String', control_file);
[control_data control_labels] = xlsread(control_file);
handles.control_data = control_data;
handles.control_labels = control_labels;
And then I attempted to access control_labels:
function loadfile_button_Callback(hObject, eventdata, handles)
% hObject handle to loadfile_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of loadfile_button
for i = 3:size(handles.control_labels,1)
ctrl_labels{i-2} = handles.control_labels{i,1};
end
....
%(rest of the code for this callback)
...
But I'm getting the error:
Reference to non-existent field 'control_labels'
Am I not using handles properly? How should I access control_labels from another callback function?
Thanks!
  1 Commento
Rik
Rik il 31 Ago 2019
It's also a good idea to initialize the field when starting the GUI, and trigger an error if the user clicks the load button before the control browse button.
@G A: please move your answer to the answer section.

Accedi per commentare.

Risposta accettata

G A
G A il 1 Set 2019
G A on 31 Aug 2019 at 8:38
Put the line
guidata(hObject, handles);
at the end of your function control_browse_button_Callback.
Have a look here:
doc guidata

Più risposte (0)

Categorie

Scopri di più su Specifying Target for Graphics Output in Help Center e File Exchange

Prodotti


Release

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by