How to indicate that GUI is busy running?
89 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
Catégories
En savoir plus sur Dialog Boxes dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!