功能drawnow
MATLAB:沖洗事件隊列的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
隨着地方drawnow
,會發生每一秒的計時器事件。沒有它,不會發生回調函數,因爲while
循環處於「阻塞」狀態。
我的問題:
1)是否有辦法來沖洗而不更新圖窗口排隊? 2)當我們說「刷新事件隊列」時,我們的意思是「在事件隊列中執行所有事情」,「執行隊列中的下一步並將所有其他事情排除在隊列之外」,或者完全是其他的東西?
我已經從多個獨立的定時器在我的程序的背景下發生的多次回調函數。沒有執行這些回調之一不是我的選擇。我只是想澄清並確保我做的是正確的事情。
這是一個例子。我會在'while'循環中做很多其他的事情。我只是想演示如果沒有'drawnow',定時器回調從不執行。 –
好的,那麼是的,把'drawnow'放在那個循環中可能是正確的解決方案。 – Richante