2013-01-23 44 views
4

拿这个小例子:Matlab的关闭所有不关闭所有

h=waitbar(0,'a window') 
close all 

命令close all这里不会关闭waitbar。
要关闭它,我必须使用close all hidden

但为什么Matlab认为h = waitbar作为隐藏的处理程序?

+4

因为否则你可以找到它... – thang

+0

+1 to @thang为存在主义的解释。值得回答。 –

回答

5

get(h, 'HandleVisibility')告诉你它的句柄可见性为callback,所以当它从内部回调(通过你的GUI代码的MATLAB)访问时,它是隐藏的。 close all只能在可见的手柄上操作,因此您的waitbar将不会关闭。

编辑:看起来你可以混淆这个系统和set(h, 'HandleVisibility', 'on')。现在,当您尝试close all时,waitbar将消失。