Я использую графический интерфейс Matlab, и я хотел бы изменить максимальное значение ползунка (slider2) в соответствии со значением другого ползунка (slider1). Моя формула проста. Но я не знаю, как изменить значение ползунка. Вот мои коды слайдера:
taper = get(hObject,'value') ; %slider 1
set(handles.texttaper,'string',num2str(taper)) ;
guidata(hObject,handles) ;
rs = get(hObject,'value') ; %slider 2
set(handles.textrs,'string',num2str(rs)) ;
guidata(hObject,handles) ;
Если вы хотите изменить максимальное значение слайдера2 на слайдер1, вы должны установить значение слайдера2 'Max'
в функции обратного вызова слайдера1. Я сделал вам небольшой пример:
% --- Executes on slider1 movement.
function slider1_Callback(hObject, eventdata, handles)
set(handles.slider2,'Max',get(hObject,'Value')) %This line does the magic!!
% This function creates slider 1
function slider1_CreateFcn(hObject, eventdata, handles)
set(hObject,'Min',0,'Max',10)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
% --- Executes on slider2 movement.
function slider2_Callback(hObject, eventdata, handles)
set(handles.text2,'string',get(hObject,'Value'))
% This function creates slider 2
function slider2_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
% --- Executes during object creation, after setting all properties.
function text2_CreateFcn(hObject, eventdata, handles)
Я создаю два слайдера. Slider1 имеет диапазон от 0 до 10. Его функция обратного вызова устанавливает значение 'Max'
для slider2. Значение Slider2 отображается в текстовом поле.
Надеюсь, поможет!