我是Matlab新手。我正在通過Matlab文檔學習。在這些時刻,我正在做示例"A GUI to Set Simulink Model Parameters"。 在「關閉GUI」中提到的一個部分,它出現了Close
按鈕回調下面的代碼:什麼是Matlab的有效句柄?
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);
我想了解一個有效的句柄是通過解析的0手柄的行爲是什麼handles.PlotFigure
。我在上面的四行代碼中插入了一個斷點行號 ,並且我在調試模式下運行了該程序。做完這些之後,我的結論是:
- 一個有效的句柄(在這種情況下,句柄圖形對象叫做handles.PlotFigure
)是一個沒有被某個命令刪除(關閉)的對象。
但是,我不明白爲什麼句柄字段handles.PlotFigure
保持在句柄結構中,並且它尚未被刪除。 我在調試時發現的另一個驚喜是變量編輯器顯示「句柄無效.PlotFigure {1,1}」。我不明白這一點,因爲句柄圖.PlotFigure確實存在。
我會很感激,如果有人運行的例子,並可以解釋我的疑惑。
謝謝您的回答。 – julian 2011-04-04 17:08:50
我想有人試圖運行上述示例並回答我的疑惑 – julian 2011-04-04 17:09:11
我沒有Simulink,因此無法重現您的發現。如果您仍然不確定,可以在www.mathworks.com/matlabcentral/answers/ – 2011-04-07 07:55:32