Matlab学习手记——GUI参数传递

版权声明:转载请标明出处 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

猜你喜欢

转载自blog.csdn.net/u012366767/article/details/81701302