How to indicate that GUI is busy running?
43 views (last 30 days)
Show older comments
I would like to know how to indicate in my GUI that MATLAB is currently busy running some piece of code (e.g. a long computation). Currently, there is no indication in the GUI that the code is running, causing the user to wonder whether it is working or just not responsive.
0 Comments
Accepted Answer
Titus Edelhofer
on 12 Jul 2011
Hi Kyle,
two typical main ways to do this: in your callback do
set(handles.figure1, 'pointer', 'watch')
drawnow;
% your computation
set(handles.figure1, 'pointer', 'arrow')
This shows the hour glass during the callback. If the callback indeed takes longer, use function "waitbar" to indicate progress ...
Titus
4 Comments
Aash
on 4 May 2018
I tried doing this and it is giving this error Error using matlab.ui.control.UIControl/set There is no pointer property on the UIControl class.
Error in Control>error_Callback (line 435) set(handles.error, 'pointer', 'watch')
What does it mean?
Walter Roberson
on 8 Jul 2020
You can only set the Pointer for a figure, not for a uicontrol.
fig = ancestor(handles.error, 'figure');
oldpointer = get(fig, 'pointer');
set(fig, 'pointer', 'watch');
drawnow;
% your computation goes here
set(fig, 'pointer', oldpointer)
More Answers (3)
Kyle
on 12 Jul 2011
1 Comment
Sean de Wolski
on 12 Jul 2011
You have to manually update waitbar - look at the example in
doc waitbar
Aash
on 9 May 2018
My pointer is changing to the loading while computation but it isnt coming back to the orignal arrow after the code stops executing. Here is my code
oldpointer = get(handles.figure1, 'pointer');
set(handles.figure1, 'pointer', 'watch')
drawnow;
%code that runs
set(handles.figure1, 'pointer', oldpointer)
2 Comments
Ahmer Shahid
on 13 Jan 2019
How can I use this in app designer?
it's giving me error.
Error using matlab.ui.Figure/set
Functionality not supported with figures created with the uifigure function. For more information, see Graphics Support in App Designer.
syed Rahim
on 12 Jun 2020
isn't handles a GUIDE only graphics structure. For APP designer it should be App.Figure1.
Jan Siegmund
on 8 Jul 2020
Edited: Jan Siegmund
on 31 Aug 2020
Users that looked for a waitbar style solution should have a look at https://de.mathworks.com/help/matlab/ref/uiprogressdlg.html which is basically waitbar but with an up to date look.

0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!