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培训