在MATLAB GUI中将值从一个窗口导入到另一个窗口

时间:2014-07-29 14:24:54

标签: matlab user-interface matlab-guide

假设我在窗口中有一个按钮,当我点击它时会出现一个新窗口。我使用以下语法调用此窗口(名称为My_New_Window):

My_New_Window();

我想从主窗口向这个新窗口插入一些值。我知道我可以使用setappdatagetappdata来实现此目的,但还有另一种方法吗?例如,像这样的语法:

My_New_Window(Values);

另一个问题。当我们使用setappdatagetappdata时,MATLAB存储这些数据?在RAM还是硬盘?

2 个答案:

答案 0 :(得分:2)

  1. 是的,您可以使用My_New_Window(Values);例如,在GUIDE中,无论您传递给GUI的参数是什么,都可以使用OpeningFcn输入在varargin中处理。只需将varargin分配到handles结构并使用guidata(hObject, handles);

  2. 关于setappdata - 根据this book,数据存储在"对象"中。由于对象驻留在内存中,因此可以安全地假设它确实保存在RAM中。

答案 1 :(得分:0)

您可以将数据存储在GUI UserData属性中:

set(handletoFigure,'UserData',Values);

当您打开其他GUI时,您将检索信息:

Values = get(handletoFigure,'UserData);

你有没有理由不想使用setappdata / getappdata?

关于你的第二个问题,我不知道对不起。我猜它虽然是