实际上,该close
函数为您提供了一些更“有力”的选项:
close all hidden
close all force
如果由于某种原因这些不起作用,您拥有的一个“核”选项是删除所有图形,包括那些具有隐藏句柄的图形,如close
和waitbar
文档中所建议的那样:
set(0, 'ShowHiddenHandles', 'on');
delete(get(0, 'Children'));
您可能会发现最简单的方法是创建自己的辅助函数来为您执行此操作(并将状态返回'ShowHiddenHandles'
到其默认'off'
状态),因此您无需输入太多内容:
function killEmAll
set(0, 'ShowHiddenHandles', 'on');
delete(get(0, 'Children'));
set(0, 'ShowHiddenHandles', 'off');
end
...甚至第三种选择是尝试通过使用onCleanup
对象完全避免问题(如果您的代码组织允许) !如果您运行以下示例代码,当您退出无限循环时CTRL,应该会自动为您删除等待栏:C
function runprocess
h = waitbar(1/4, 'la la la...');
waitObject = onCleanup(@() delete(h));
process();
end
function process
i = 1;
while (i > 0)
i = i + 1;
end
end