假设我在窗口中有一个按钮,当我点击它时会出现一个新窗口。我使用以下语法调用此窗口(名称为My_New_Window
):
My_New_Window();
我想从主窗口向这个新窗口插入一些值。我知道我可以使用setappdata
或getappdata
来实现此目的,但还有另一种方法吗?例如,像这样的语法:
My_New_Window(Values);
另一个问题。当我们使用setappdata
或getappdata
时,MATLAB存储这些数据?在RAM还是硬盘?
答案 0 :(得分:2)
是的,您可以使用My_New_Window(Values);
例如,在GUIDE中,无论您传递给GUI的参数是什么,都可以使用OpeningFcn
输入在varargin
中处理。只需将varargin
分配到handles
结构并使用guidata(hObject, handles);
关于setappdata
- 根据this book,数据存储在"对象"中。由于对象驻留在内存中,因此可以安全地假设它确实保存在RAM中。
答案 1 :(得分:0)
您可以将数据存储在GUI UserData属性中:
set(handletoFigure,'UserData',Values);
当您打开其他GUI时,您将检索信息:
Values = get(handletoFigure,'UserData);
你有没有理由不想使用setappdata / getappdata?
关于你的第二个问题,我不知道对不起。我猜它虽然是