でイベントキューをフラッシュdrawnow
MATLAB:機能関数drawnow
原因は、更新するために窓や子供たちを理解し、システムイベントキューをフラッシュします。受信イベント(マウスやキーイベントなど)によって生成されたコールバックは、
drawnow
が返される前に送出されます。
私は次のスクリプトがあります場所にdrawnow
で
clear all;
clc;
t = timer;
set(t, 'Period', 1);
set(t, 'ExecutionMode', 'fixedSpacing');
set(t, 'TimerFcn', @(event, data) disp('Timer rollover!'));
start(t);
while(1)
%# do something interesting
drawnow;
end
を、タイマーイベントは、毎秒発生します。それがなければ、while
ループが「ブロッキング」であるため、コールバック関数は発生しません。
私の質問:
1)Figureウィンドウを更新せずにキューをフラッシュする方法はありますか?
2)「イベントキューをフラッシュする」とは、「イベントキュー内のすべてを実行する」「キュー内で次に実行するものを実行し、他のすべてをキューから落とす」などのことですか?
私は、プログラムのバックグラウンドで起こっている複数の別々のタイマーから複数のコールバック関数を持っています。これらのコールバックのいずれかを実行していないことは私の選択肢ではありません。私は明確にして、私が正しいことをしていることを確認したかっただけです。
これは一例です。私はそのwhileループで他にもたくさんのことをしていきます。私はちょうど 'drawnow'タイマーコールバックが実行されないことを実証したかったのです。 –
大丈夫です、そうです、そのループに 'drawnow'を置くことはおそらく正しい解決策です。 – Richante