天天看點

Matlab GUI與GUI間資料傳遞實作

Matlab GUI與GUI間資料傳遞實作

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結和本聲明。

本文連結:https://blog.csdn.net/mvpyao/article/details/109437098

1.首先打開guide,建立兩個空白gui如下圖

Matlab GUI與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;%将二者傳遞出去
           

Matlab GUI與GUI間資料傳遞實作

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);
           

注意子GUI的調用  [out1,out2]=guidata_test1();兩個輸出變量out1,out2一定要标注。

3.實作結果:

Matlab GUI與GUI間資料傳遞實作

實作了兩個資料的傳遞和相加計算。

繼續閱讀