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

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