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

2 vues (au cours des 30 derniers jours)
Peter Smith
Peter Smith le 30 Août 2019
Commenté : Peter Smith le 3 Sep 2019
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 commentaire
Rik
Rik le 31 Août 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.

Connectez-vous pour commenter.

Réponse acceptée

G A
G A le 1 Sep 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

Plus de réponses (0)

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Produits


Version

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by