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!

 採用された回答

Mari
Mari 2013 年 5 月 26 日

0 投票

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 件のコメント

Firzi Mukhri
Firzi Mukhri 2013 年 5 月 26 日
that works! thanks.
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 5 月 26 日
How this works?
Firzi Mukhri
Firzi Mukhri 2013 年 5 月 26 日
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 2013 年 5 月 26 日
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.
Firzi Mukhri
Firzi Mukhri 2013 年 5 月 27 日
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
Mari 2013 年 5 月 27 日
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 2013 年 5 月 28 日
編集済み: Firzi Mukhri 2013 年 5 月 28 日
Thank you so much Mari! it really works...

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeEntering Commands についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by