当用户单击滑块的空白区域(滑动空间)时,滑块会跳转。尽管我已经设置了31个步长(通过设置滑块的步长),但是当鼠标单击滑块的空白时,仍然只有3个跳跃,这会产生较大的偏移[每次单击21 11 1个值]。
我想在单击滑块的空白区域时进行较小的移动/跳跃。图片解释了空白处并跳跃。我在滑块的设置中找不到设置此功能的任何选项。
我有以下设置
ihist=[0:0.0005:0.015];
colors=1:0.01:1.25;
handles.output = hObject;
% % Update slider1 value
guidata(hObject, handles);
maxSliderValue = length(ihist);
minSliderValue = 1;
theRange = maxSliderValue - minSliderValue;
steps = [1/theRange, 10/theRange];
set(handles.slider1, 'SliderStep', steps,'value',1);
由于这种情况下的总步数为31,因此滑块不应以3步/点击的速度完全移动。
答案 0 :(得分:2)
您可能误解了SliderStep
设置的工作原理。从文档中引用:
滑块步长,指定为数组
[minorstep majorstep]
。当用户单击箭头按钮或滑块槽(滑块通道)时,此属性控制滑块值变化的幅度:
minorstep
是滑块范围的一部分,当用户单击其中一个箭头按钮时,Value
属性将增加或减少。
majorstep
是滑块范围的一部分,当用户单击滑块槽时,Value
属性将根据该范围增加或减少。
在您的示例中,[minorstep majorstep]
是[1/theRange, 10/theRange]
(或数字上是[1/30 1/3]
),这意味着您需要准确的(1/3)^-1 == 3
点击才能遍历整个范围。如果您希望单击30
(请注意,间隔比滑块位置|--|--|
小1),则也应将majorstep
更改为1/theRange
。