Matlab GUI技巧(二)-數(shù)據(jù)傳遞

2017-01-16  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

接觸GUI,總避免不了涉及到數(shù)據(jù)在各個GUI之間或者單個GUI內(nèi)部傳遞。

接觸幾天下來,總結(jié)幾點


GUI內(nèi)部的數(shù)據(jù)傳遞

1. 采用控件的UserData屬性傳遞

存    set(hObject, 'UserData', Value)

取    get(hObject, 'UserData')

2. 使用guidata存儲為handles的一個域

存    handles.(fieldname) = value; guidata(hObject, handles);        

取    handles.(fieldname)

3. 使用appdata存儲

存    setappdata(handles, name, value)

取    getappdata(handles, name)


在各GUI之間的數(shù)據(jù)傳遞

1. 使用varargin和varargout

    如GUI1中調(diào)用GUI2,需將GUI1的數(shù)據(jù)傳遞到GUI2中,再將GUI2中的數(shù)據(jù)傳回GUI1

    將GUI1的圖形句柄h1作為varargin進(jìn)行傳遞。

調(diào)用格式    GUI2(' GUI1','h1') %必須是2個參數(shù),第一個為名稱,第二個為句柄

同樣需在GUI2中的OpeningFcn中編寫對應(yīng)存儲該GUI1句柄的代碼,將該參數(shù)存儲在GUI2中(參考GUI內(nèi)數(shù)據(jù)傳遞的幾種方法)

如    handles.GUI1 = h1; guidata(hObject, handles)


如何在GUI2中使用GUI1中的數(shù)據(jù)呢?

如下調(diào)用,如在GUI1中調(diào)用GUI1的數(shù)據(jù)為handles.data, 那么在GUI2中這樣調(diào)用:handles.GUI1.data


如何在GUI2中向GUI1中存數(shù)據(jù)呢?

如數(shù)據(jù)data2,作如下調(diào)用:set(handles.GUI1, 'dataname', data2); guidata(hObject, handles);

在GUI1中直接調(diào)用:handles.dataname即可取出數(shù)據(jù)。



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:Matlab GUI技巧(二)-數(shù)據(jù)傳遞 MatLab培訓(xùn) MatLab培訓(xùn)課程 MatLab在線視頻教程 MatLab技術(shù)學(xué)習(xí)教程 MatLab軟件教程 MatLab資料下載 MatLab代做 MatLab基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com