How to indicate that GUI is busy running?
25 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Kyle
le 12 Juil 2011
Modifié(e) : Walter Roberson
le 31 Août 2020
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 commentaires
Réponse acceptée
Titus Edelhofer
le 12 Juil 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 commentaires
Aash
le 4 Mai 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
le 8 Juil 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)
Plus de réponses (3)
Kyle
le 12 Juil 2011
1 commentaire
Sean de Wolski
le 12 Juil 2011
You have to manually update waitbar - look at the example in
doc waitbar
Aash
le 9 Mai 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 commentaires
Ahmer Shahid
le 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
le 12 Juin 2020
isn't handles a GUIDE only graphics structure. For APP designer it should be App.Figure1.
Jan Siegmund
le 8 Juil 2020
Modifié(e) : Jan Siegmund
le 31 Août 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 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!