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

My_New_Window();

我想从主窗口向这个新窗口插入一些值。我知道我可以使用 setappdata 或者 getappdata 为此目的,但是还有其他方法吗?例如像这样的语法:

My_New_Window(Values);

另一个问题。当我们使用 setappdata 或者 getappdata, ,MATLAB 将这些数据存储在哪里?在 RAM 或硬盘中?

有帮助吗?

解决方案

  1. 是的,您可以使用 My_New_Window(Values); 例如,在 GUIDE 中,无论您传递给 GUI 的参数是什么,您都可以在 OpeningFcn 使用它的 varargin 输入。简单地分配 varargin 给你的 handles 结构及用途 guidata(hObject, handles);

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

其他提示

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

set(handletoFigure,'UserData',Values);

当您打开另一个 GUI 时,您会检索信息:

Values = get(handletoFigure,'UserData);

您是否有理由不想使用 setappdata/getappdata?

至于你的第二个问题,我不知道,抱歉。我猜是 RAM

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top