我试图在创建滑块时设置最小值和最大值。
function slider2_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
set(hObject, 'Max', 10, 'Min', 1);
但是当GUI打开时,它会抛出并且错误和滑块消失
Warning: slider control can not have a Value outside of Min/Max range
Control will not be rendered until all of its parameter values are valid
> In openfig at 135
In gui_mainfcn>local_openfig at 286
In gui_mainfcn at 234
In gui at 44
Warning: slider control can not have a Value outside of Min/Max range
Control will not be rendered until all of its parameter values are valid
Warning: slider control can not have a Value outside of Min/Max range
Control will not be rendered until all of its parameter values are valid
我试图将滑块步长设置为1.即使在拖动时或使用增加/减少按钮时也是如此。
function slider2_Callback(hObject, eventdata, handles)
% hObject handle to slider2 (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
set(handles.slider2, 'SliderStep' , [1/9,1/9] );
sliderValue = get(handles.slider2,'Value');
set(handles.edit2,'String',sliderValue)
我已经选择了1/9,因为对于单位步骤我需要选择maxvalue-minvalue
我出错的任何线索都会有所帮助
答案 0 :(得分:1)
您还需要在Value
中指定CreateFcn
,因为默认情况下,值0
超出Min
/ {{1范围会导致Max
无法呈现。另外,我建议您在uicontrol
内设置SliderStep
CreateFcn
此外,如果要强制滑块值始终为整数(即使在拖动时),也可以对滑块回调内的function slider2_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
set(hObject, 'Max', 10, 'Min', 1, 'Value', 1, 'SliderStep', [1/9 1/9]);
属性进行舍入
Value