天天看点

Matlab GUI 设计(4):不同控件之间的数据传递

GUI 中,不同GUI 之间的数据共享有四种方法:GUI 数据、Application数据、UserData数据、global数据。global 比较简单,主要学习前三种方法。

GUI 数据:handles结构体

将变量a存入handles中:

handles.a=a;
guidate(hObject,handles);
           

要获得带变量值,可以使用:

b=handles.a;
           

1) guidate:存储或跟新 GUI 数据

guidate(obi_handles,data);
           

2) guihandles:创建handles结构体

handles=guihandles(obi_handles);
           

Application数据

(1)、采用set或get来修改或获取对象的Application属性

(2)、采用专用函数:

setappdata(h,name,value);
value=getappdata(h,value);
isappdata(h,name);
rmappdate(h,name);
           

UserData数据

data=get(h,'UserData')
set(h,'UserData',data);
           

此数据为公开属性,可以使任意数据类型。

global数据

global 数据不随GUI的删除而消失,要清除,可以将 figure 的CloseRequestFun 改为:

clear global;
delete(hObject);
           

继续阅读