版权声明:转载请标明出处 https://blog.csdn.net/u012366767/article/details/81701302
四种参数传递的方式,推荐第二种方式。
- 1. 声明全局变量
在每个事件开头用 global 声明变量,不推荐。
- 2. handles结构体
创建的GUI时,m文件会自动生成一个handles的结构体,包含所有的GUI对象数据;每个回调函数都可以通过handles获取任何GUI对象的数据。
保存变量:
handles.a = a;
guidata(hObject, handles); % 更新结构体
使用变量:
a = handles.a;
- 3. 使用setappdata和getappdata函数
f = figure;
val = date
setappdata(f,'todaysdate',val); % 赋值
getappdata(f,'todaysdate') % 获取值
rmappdata(f, 'todaysdate') % 删除值
getappdata(f,'todaysdate') % 重新获取
val =
15-Aug-2018
ans =
15-Aug-2018
ans =
[]
- 4. 使用assignin和evalin函数
这种方式通过workspace传递参数:
assignin('base', 'data', val) % 将data保存到workspace,变量名为data
data = evalin('base', 'data') % 从workspace中获取data,赋值给data