Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

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

Firzi Mukhri

Products

No products are associated with this question.

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

Firzi Mukhri on 27 May 2013

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)
...
...
...
Firzi Mukhri on 28 May 2013

Thank you so much Mari! it really works...

Mari

Contact us