How to send a Matrix from a gui to another gui?

1 Ansicht (letzte 30 Tage)
Miguel Reina
Miguel Reina am 19 Apr. 2016
Bearbeitet: Miguel Reina am 19 Apr. 2016
Hello, I have the following problem, in one gui called A I use a push button to save a matrix
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
X= uigetfile('.txt');
B
and after the same button opens another gui called B. I need to pass the matrix from A to B, how can i do it ?
Thank you in advance.

Akzeptierte Antwort

Orion
Orion am 19 Apr. 2016
Hi,
you can use the functions getappdata and setappdata.
let say that in your callback you get the matrix MyData.
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
X= uigetfile('.txt');
%... some calculation
MyData = rand(4,4);
% In the same callback you open the 2nd GUI
B;
% store MyData in B
Bhandle = findall(0,'Name','B'); % assuming this GUI is really named B.
setappdata(Bhandle ,'MyData',MyData);
Then later, in the callback of GUI B, you can retrieve this data by simply doing :
Bhandle = findall(0,'Name','B');
MyData = getappdata(Bhandle ,'MyData');

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by