我是Matlab的新手。我正在通过Matlab文档学习。在这些时刻,我正在做例子"A GUI to Set Simulink Model Parameters"。
在上面提到的“关闭GUI”部分,Close
按钮回调显示以下代码:
function CloseButton_Callback(hObject, eventdata, handles)
% Close the GUI and any plot window that is open
if isfield(handles,'PlotFigure') && ...
ishandle(handles.PlotFigure),
close(handles.PlotFigure);
end
close(handles.F14ControllerEditor);
我试图通过解析行为来了解有效句柄是什么
句柄handles.PlotFigure
。我在行号中插入了一个断点
上面的四个代码,我已经在调试模式下运行程序。在这之后,我的结论是:
- 有效句柄(在本例中为名为handles.PlotFigure
的句柄图形对象)是一个尚未被某些命令删除(关闭)的对象。
但是,我不明白为什么句柄字段handles.PlotFigure
保留在句柄结构中并且尚未删除。
我在调试时发现的另一个惊喜是变量编辑器说“没有有效的handle.PlotFigure {1,1}”图。我既不明白这一点,因为handle.PlotFigure的数字确实存在。
如果有人运行这个例子并且能解释我的怀疑,我会感激不尽。
答案 0 :(得分:1)
有关句柄的信息,请尝试Mathworks的这段简短视频: