Я новичок с Матлабом.Я учусь через документацию Matlab.В эти моменты я делаю пример «Графический интерфейс для установки параметров модели Simulink» .В разделе «Закрытие 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
остается внутри структуры дескрипторов и не было удалено.Еще один сюрприз, который я обнаружил во время отладки, заключался в том, что редактор переменных сказал: «Нет допустимых графиков для ручек .PlotFigure {1,1}».Я также не понимаю этого, потому что фигура для ручек .PlotFigure существовала.
Я был бы благодарен, если бы кто-нибудь запустил пример и смог объяснить мне мои сомнения.