Matlab GUI與GUI間資料傳遞實作
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結和本聲明。
本文連結:https://blog.csdn.net/mvpyao/article/details/109437098
1.首先打開guide,建立兩個空白gui如下圖
(其中guidata_test1是子GUI,guidata_test2是主GUI)
2.在guidata_test1的OutputFcn即guidata_test1_OutputFcn中加入如下代碼:
%将兩個edit的string傳遞到主gui中,是以将兩個edit的資料拿出來
handles.out1=get(handles.edit1,'string');%edit1的string存儲在handles.out1
handles.out2=get(handles.edit2,'string');%edit2的string存儲在handles.out2
varargout{1}=handles.out1;%将二者傳遞出去
varargout{2}=handles.out2;%将二者傳遞出去
3.在主GUI中調用子GUI,在這個實驗中是通過按鈕來調用的,當按鈕按下,彈出子GUI,是以在pushbutton的callback函數中加入如下代碼,實作對子GUI 的調用。
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)
[out1,out2]=guidata_test1();
dataout=str2num(out1)+str2num(out2);
dataout=num2str(dataout);
set(handles.edit1,'string',dataout);