how to share data between callback functions in a GUI

조회 수: 3 (최근 30일)
phani
phani 2011년 5월 17일
편집: Arturo Moncada-Torres 2015년 3월 30일
hi every one, i am new to GUI. i am reading a .mat file using a push button. i want to save the data in the file to a variable lets say 'y'. the variable 'y' contains a column vector that is from the .mat file . i want to use the variable 'y' in other callback function in the same GUI. i tried in doing that but i am not able to do that.
please help me. many thanks in advance

채택된 답변

Arturo Moncada-Torres
Arturo Moncada-Torres 2011년 5월 17일
편집: Arturo Moncada-Torres 2015년 3월 30일
When you wish to have variables that have an scope (that means that are "visible") in all functions of the GUI, you should store them in handles. handles is an structure, so you should need something like this:
% Callback 1
% Retrieve GUI data (the handles structure)
handles = guidata(hObject)
% ...
handles.y = 1:10; % Load the data from the .mat file here
% ...
% Update handles structure
guidata(hObject, handles);
% Callback 2
% Retrieve GUI data (the handles structure)
handles = guidata(hObject);
% ...
handles.x = handles.y .* 3; % Do whatever you want with the "y" data here
% ...
% Update handles structure
guidata(hObject, handles);
The handles = guidata(hObject); and guidata(hObject, handles); lines are important because you need them to keep the GUI "updated".
Hope it helps ;-) .
  댓글 수: 4
Indika Kulatunga
Indika Kulatunga 2012년 4월 4일
Thank you very much for the Help.
Anthi
Anthi 2013년 4월 6일
Thank you :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by