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進行傳遞。
調(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ù)。
相關(guān)標簽搜索:Matlab GUI技巧(二)-數(shù)據(jù)傳遞 MatLab培訓 MatLab培訓課程 MatLab在線視頻教程 MatLab技術(shù)學習教程 MatLab軟件教程 MatLab資料下載 MatLab代做 MatLab基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓