3

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

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

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

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

但是,回调仍然被中断。我怎样才能避免它?

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

4

1 回答 1

3

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

set(findobj('Type','uicontrol'), 'BusyAction','cancel', 'Interruptible','off');
于 2013-04-03T07:58:05.840 回答