用户界面-避免Matlab GUI中回调函数的中断



我有一个Matlab GUI,它需要很长时间来执行一些回调函数。此外,这些功能包括以下代码:

 drawnow('expose');
 pause(handles.data.delay);

我想避免那些回调执行被中断,以避免用户按下其他按钮时数据不一致。因此,我将图形设置修改为:

set(handles.figure, 'BusyAction','cancel', 'Interruptible','off');

但是,回调仍然被中断。我该如何避免?

注意:我认为问题是我需要将"BusyAction"one_answers"Interruptible"值传播到GUI中的所有控件,有什么方法可以自动实现吗?例如,在生成GUI之前修改默认值。

将任何属性传播到所有UI对象的最快、最干净的方法是使用findobj:

set(findobj('Type','uicontrol'), 'BusyAction','cancel', 'Interruptible','off');

相关内容

  • 没有找到相关文章

最新更新