いくつかのコールバック関数を実行するのに長い時間が必要な Matlab GUI があります。さらに、これらの関数には次のコードが含まれます。
drawnow('expose');
pause(handles.data.delay);
ユーザーが他のボタンを押した場合にデータの不整合を避けるために、これらのコールバックの実行が中断されるのを避けたいと考えています。したがって、図の設定を次のように変更します。
set(handles.figure, 'BusyAction','cancel', 'Interruptible','off');
ただし、コールバックは引き続き中断されます。どうすれば回避できますか?
注: 問題は、'BusyAction' と 'Interruptible' の値を GUI のすべてのコントロールに伝達する必要があることだと思います。それを自動的に行う方法はありますか? たとえば、GUI を生成する前にデフォルト値を変更します。