Matlab GUI技巧(二)-數據傳遞
2017-01-16 by:CAE仿真在線 來源:互聯網
接觸GUI,總避免不了涉及到數據在各個GUI之間或者單個GUI內部傳遞。
接觸幾天下來,總結幾點
GUI內部的數據傳遞
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之間的數據傳遞
1. 使用varargin和varargout
如GUI1中調用GUI2,需將GUI1的數據傳遞到GUI2中,再將GUI2中的數據傳回GUI1
將GUI1的圖形句柄h1作為varargin進行傳遞。
調用格式 GUI2(' GUI1','h1') %必須是2個參數,第一個為名稱,第二個為句柄
同樣需在GUI2中的OpeningFcn中編寫對應存儲該GUI1句柄的代碼,將該參數存儲在GUI2中(參考GUI內數據傳遞的幾種方法)
如 handles.GUI1 = h1; guidata(hObject, handles)
如何在GUI2中使用GUI1中的數據呢?
如下調用,如在GUI1中調用GUI1的數據為handles.data, 那么在GUI2中這樣調用:handles.GUI1.data
如何在GUI2中向GUI1中存數據呢?
如數據data2,作如下調用:set(handles.GUI1, 'dataname', data2); guidata(hObject, handles);
在GUI1中直接調用:handles.dataname即可取出數據。
相關標簽搜索:Matlab GUI技巧(二)-數據傳遞 MatLab培訓 MatLab培訓課程 MatLab在線視頻教程 MatLab技術學習教程 MatLab軟件教程 MatLab資料下載 MatLab代做 MatLab基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓