Passing varibales between two callback in GUI
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ricardo Duarte
il 18 Set 2020
Commentato: Ricardo Duarte
il 21 Set 2020
Dear all,
I really need your help.
I'm new using Gui and I'm trying to use one variable in one callback that was calculated previously in other callback.
Let's say:
I have this first callback, named - pushbutton2_selectfile:
function pushbutton2_selectfile_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2_selectfile (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
where I have for example the following code:
[xbit,Fs] = audioread(fullfile(path,ifile),'native');
Now, I have another callback (called "pushbutton3_RUN") where I need to use the varibales xbit and Fs
function pushbutton3_RUN_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3_RUN (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
I trying to do so by using:
set(handles.pushbutton2_selectfile,'userdata',xbit); %in the first callback
xbit=get(handles.pushbutton2_selectfile,'userdata'); %in the second callback
However i never receive the rigth result.
What am I doing wrong and how can I solve this problem.
Thank you very much for your time and help.
0 Commenti
Risposta accettata
Mohammad Sami
il 19 Set 2020
Modificato: Mohammad Sami
il 19 Set 2020
Use the function setappdata and getappdata instead. An example is shown here in the documentation. https://www.mathworks.com/help/matlab/creating_guis/share-data-among-callbacks.html
You have two options, you can read the section titled Store Data as Application Data Or Store Data Using the guidata Function
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Interactive Control and Callbacks 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!