how to make a passive slider in GUIDE?

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!

 Akzeptierte Antwort

Mari
Mari am 26 Mai 2013

0 Stimmen

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 Kommentare

Firzi Mukhri
Firzi Mukhri am 26 Mai 2013
that works! thanks.
Azzi Abdelmalek
Azzi Abdelmalek am 26 Mai 2013
How this works?
Firzi Mukhri
Firzi Mukhri am 26 Mai 2013
I tried changing the slider properties of Enable to inactive and run the GUI, the slider is not select-able. But now i tried to code the slider callback and the slider is not visible. Did I do something wrong?
Jan
Jan am 26 Mai 2013
As the most likely appearing warning messages in the command window tell, the slider is not drawn, if the values are outside the defined span. So check the 'Min' and 'Max' properties.
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!
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
Firzi Mukhri am 28 Mai 2013
Bearbeitet: Firzi Mukhri am 28 Mai 2013
Thank you so much Mari! it really works...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu App Building 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