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

 Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 24 Dez. 2014

1 Stimme

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 Kommentare

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 am 24 Dez. 2014
Thanks for the reply. It worked I am using 2012b

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sean de Wolski
Sean de Wolski am 24 Dez. 2014

0 Stimmen

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')

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by