MATLAB Answers

0

how to make a passive slider in GUIDE?

Asked by Firzi Mukhri on 26 May 2013
Hello, I would like to know how I can make a slider 'passive'. Passive means the slider will move to show progress but the user cannot adjust or move the slider. This will make the slider move like in movie player but not clickable or drag-able. Can I do that? Thanks!

  0 Comments

Sign in to comment.

1 Answer

Answer by Mari
on 26 May 2013
 Accepted Answer

Hi!
First of all, you have to open the slider's options and set 'Enable' to 'inactive', so the user cannot change the slider's position. Then, to set the position of the slider, you use its handle:
newvalue = 0.5;
set(handles.slider1,'Value',newvalue);

  7 Comments

I have set the 'min' to 0, 'max' to 100.
How can I code the value of the slider to update with the increase of a variable value?
My code:
function pushbutton1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
updateSlider;
function updateSlider
hTEST = getappdata (0 , 'hTEST' );
sliderValue = getappdata (hTEST, 'currentNum');
set (handles.slider1, 'Value' , sliderValue)
function slider1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
currentNum = getappdata (hTEST, 'currentNum' );
set (hObject, 'Value' , currentNum)
This return error:
??? Undefined variable "handles" or class "handles.slider1".
Error in ==> TEST>updateSlider at
set (handles.slider1, 'Value' , sliderValue)
Error in ==> TEST>pushbutton1_Callback at
updateSlider;
Thanks!
Mari
on 27 May 2013
In order to use the handles in another function, you have to pass it as an argument to the updateslider function:
function pushbutton1_Callback(hObject, eventdata, handles)
hTEST = getappdata (0, 'hTEST');
updateSlider(handles);
function updateSlider(handles)
hTEST = getappdata (0 , 'hTEST' );
sliderValue = getappdata (hTEST, 'currentNum');
set (handles.slider1, 'Value' , sliderValue)
...
...
...
Thank you so much Mari! it really works...

Sign in to comment.