Как я могу изменить максимальное значение слайдера в соответствии с другим слайдером - PullRequest
1 голос
/ 10 апреля 2019

Я использую Matlab GUI, и я хотел бы изменить максимальное значение слайдера (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) ;

1 Ответ

0 голосов
/ 11 апреля 2019

Если вы хотите изменить максимальное значение slider2 на slider1, вы должны установить значение slider2 'Max' в функции обратного вызова slider1. Я сделал вам небольшой пример:

% --- 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 отображается в текстовом поле.

Надеюсь, это поможет!

...