GUI slider value change when majorstep is changed from default?

1 visualización (últimos 30 días)
Gaszton
Gaszton el 14 de En. de 2013
Hello,
i experienced a very strange behaviour of GUI (made with GUIDE) sliders, If I change the major step of a vertical slider, e.g. 0.02 and the minor step is 0.01, the value of the slider changes from 0 to 0.08. The inspector in guide shows 0 for the value, but the thumbbar of the slider is not at the bottommost position. If i start the GUI, the thumbbar is still at the same position, and if i check the value of the slider, it is 0.08 instead of 0.
Test it with a blank gui, add a vertical slider:
  • max: 1.0
  • min: 0.0
  • sliderstep: [0.01,0.02]
  • x: 0.01
  • y: 0.02
  • value: 0.0
when you start the gui, the slider is value is not 0.0
  6 comentarios
Gaszton
Gaszton el 15 de En. de 2013
I tested on a win7 and an xp machine, both r2012b, no difference.
in GUIDE, the position of the slider changes immediatly as i modify the majorsliderstep, but the value is still 0.0 in the inspector.
with default settings: http://i48.tinypic.com/111hspd.jpg
after changing sliderstep: http://i45.tinypic.com/35250rr.jpg
Jing
Jing el 16 de En. de 2013
Editada: Jing el 16 de En. de 2013
This seems to happen only when the major step is smaller than the default one and it's a vertical slider. I can't reproduce this with a horizontal slider.

Iniciar sesión para comentar.

Respuestas (3)

Azzi Abdelmalek
Azzi Abdelmalek el 14 de En. de 2013
Editada: Azzi Abdelmalek el 14 de En. de 2013
% In your opening function insert
% slider1 is your slider's tag
set(handles.slider1,'value',0,'Min',0,'Max',1,'Sliderstep',[0.01,0.02])
  4 comentarios
Gaszton
Gaszton el 14 de En. de 2013
Editada: Gaszton el 14 de En. de 2013
Thank you, i am not a newbie you can try to make such a slider with guide, and see how it behaves.
Azzi Abdelmalek
Azzi Abdelmalek el 14 de En. de 2013
You are right, I'am getting the same problem, which I can't explain

Iniciar sesión para comentar.


Azzi Abdelmalek
Azzi Abdelmalek el 14 de En. de 2013
Try this in this order
set(handles.slider1,'Min',0,'Max',1,'Sliderstep',[0.01,0.02])
set(handles.slider1,'value',0)
%or
set(handles.slider1,'Min',0,'Max',1,'Sliderstep',[0.01,0.02],'value',0)

Image Analyst
Image Analyst el 15 de En. de 2013
Editada: Image Analyst el 15 de En. de 2013
I'm not able to reproduce. I displayed the value in the movement callback and it was exactly as expected: 0.01 after the first small click, and incrementing by 0.01 or 0.02 depending on where in the slider you clicked.
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
% get(hObject,'Min') and get(hObject,'Max') to determine range of slider
sliderValue = get(hObject,'Value') % Spit value out to command line.
return;
The thumbbar of the slider also does not move when I change the step values. Since the value is 0 it stays slammed up against one side. I'm running R2012b 64 bit on Windows 7.
  9 comentarios
Gaszton
Gaszton el 17 de En. de 2013
with value set to 1, it works fine, starts with value 1
Jan
Jan el 18 de En. de 2013
So would this be a work aorund?
set(handles.slider1, 'value', 1);
drawnow;
set(handles.slider1, 'value', 0);

Iniciar sesión para comentar.

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by