How to set timer

1 回表示 (過去 30 日間)
Sharmen
Sharmen 2011 年 5 月 16 日
Hi, how to set timer for a Pushbutton in GUI. Lets say if a pushbutton is pressed and after 5 second it should do "set(pushbutton1.text1,'string','part1')" and let say after 10 seconds it should do " set(pushbutton1.text3,'string','part2')". How do i do this step?
thanks sharmen

回答 (2 件)

Andy
Andy 2011 年 5 月 16 日
You might want to take a look at Matt Fig's http://www.mathworks.com/matlabcentral/fileexchange/24861-41-complete-gui-examples. Specifically, "19.How can I use a timer in a GUI? GUI_17 ".
  3 件のコメント
Sean de Wolski
Sean de Wolski 2011 年 5 月 16 日
Set two timers at 10 seconds each, with each having its own callback, one starting 5 seconds after the other.
Paulo Silva
Paulo Silva 2011 年 5 月 16 日
No need for two timers, he can just use the StartDelay argument for the first 5 seconds.

サインインしてコメントする。


Paulo Silva
Paulo Silva 2011 年 5 月 16 日
function GuiFun
fig=figure;
GuiButton = uicontrol('Style','pushbutton','String','PushToStart',...
'Position',[315,220,70,25],...
'Callback',@StartTimer);
t = timer('TimerFcn',@TimerFun, 'ExecutionMode',...
'fixedSpacing','Period',10,'StartDelay',5);
Val=1;
function StartTimer(a,b)
start(t)
disp('Timer Started, wait 5 seconds')
set(GuiButton,'String','Wait')
end
function TimerFun(a,b)
%protection against user closing the figure while timer is running
if ~ishandle(fig)
stop(t)
disp('User closed the figure while timer was running')
disp('Timer stopped')
return
end
set(GuiButton,'String',['part' num2str(Val)])
Val=Val+1;
if Val>3
stop(t);
set(GuiButton,'String','End')
disp('Timer Stop after 2 periods')
else
disp('wait 10 seconds')
end
end
end
  1 件のコメント
Sharmen
Sharmen 2011 年 5 月 16 日
thanks paulo

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by