Passing varibales between two callback in GUI

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

采纳的回答

Mohammad Sami
Mohammad Sami 2020-9-19
编辑:Mohammad Sami 2020-9-19
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by