programmatic GUI callback function

I want to access the GUI control from the call back function. how can I do this. I got the below code from Matlab help but it gives an error when executed. How can I access the slider from the call back function.
function mygui()
figure
uicontrol('Style','slider','Callback',@display_slider_value);
end
function display_slider_value(hObject,callbackdata)
newval = num2str(hObject.Value);
disp(['Slider moved to ' newval]);
end

 Respuesta aceptada

Geoff Hayes
Geoff Hayes el 24 de Dic. de 2014
Akshata - what is the error message? Note that if you are trying to get the current value of the slider, you could try using
newval = num2str(get(hObject,'Value'));
The above assumes that the error has something to do with the current line that gets the newval.

3 comentarios

Hi, thanks for your reply. Even this gives an error. Error if found when I change the slider position on the GUI. Please find the error message below
Attempt to reference field of non-structure array.
Error in mygui>display_slider_value (line 6)
newval = num2str(get(hObject.Value));
Error while evaluating uicontrol Callback
The error message is indicating that you are trying to access a field of an object that is not a structure. In your case, hObject is not a structure and so you can't access Value from it. Which version of MATLAB are you using?
To get around this error, replace your line with
newval = num2str(get(hObject,'Value'));
as described above.
Chandrasekhar
Chandrasekhar el 24 de Dic. de 2014
Thanks for the reply. It worked I am using 2012b

Iniciar sesión para comentar.

Más respuestas (1)

Sean de Wolski
Sean de Wolski el 24 de Dic. de 2014

0 votos

I fyou're using a version of MATLAB < R2014b, hObject.Value won't work. That syntax is added in R2014b.
If your company/university if current on maintenance, you should be able to upgrade at no additional cost. If not, use get(hObject,'Value')

Categorías

Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 24 de Dic. de 2014

Comentada:

el 24 de Dic. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by