如何在MATLAB中禁用等待栏的关闭按钮?

时间:2017-07-05 14:01:30

标签: matlab

我想创建一个应该在没有任何中断的情况下处理的等待栏。我怎样才能做到这一点?

我尝试过设置

h=waitbar(0,'please wait','CreateCancelBtn','setappdata(gcbf,''Cancel'',0)');

这会禁用等待栏上的“关闭”按钮,但它也会显示“取消”按钮。我不想要那个按钮。

1 个答案:

答案 0 :(得分:2)

当您使用CreateCancelBtn的{​​{1}}选项时,它会创建一个取消按钮,获取您提供的字符串,然后将该字符串设置为两者的回调取消按钮(即按下按钮时发生的事情)图形窗口的CloseRequestFcn(即单击窗口框架上的“关闭”按钮时发生的事情)。

您可以通过直接自己设置图窗口的CloseRequestFcn来避免这种情况:

waitbar

现在禁用“关闭”按钮。

请记住,CloseRequestFcn也是您调用h = waitbar(0,'Please Wait...'); h.CloseRequestFcn = ''; 时执行的内容,因此您现在无法使用close(h)关闭它。您可以改为调用close(h),也可以在调用delete(h)之前确保将CloseRequestFcn重置为默认值,即buit-in函数close(h)(类型{{ 1}}看看它做了什么,它基本上只是调用closereq

希望有所帮助!