如何根据另一个滑块更改滑块的最大值
How can i change slider's maximum value according to another slider
我正在使用 matlab gui,我想根据另一个滑块的值 (slider1) 更改滑块的最大值 (slider2)。
我的公式很简单。但我不知道如何更改滑块值。这是我的滑块代码:
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) ;
如果您想通过 slider1 更改 slider2 的最大值,您必须在 slider1 的回调函数中设置 slider2 'Max'
值。我给你举了个小例子:
% --- 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 之间。它的回调函数设置 slider2 的 'Max'
值。 Slider2 的值显示在文本框中。
希望对您有所帮助!
我正在使用 matlab gui,我想根据另一个滑块的值 (slider1) 更改滑块的最大值 (slider2)。 我的公式很简单。但我不知道如何更改滑块值。这是我的滑块代码:
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) ;
如果您想通过 slider1 更改 slider2 的最大值,您必须在 slider1 的回调函数中设置 slider2 'Max'
值。我给你举了个小例子:
% --- 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 之间。它的回调函数设置 slider2 的 'Max'
值。 Slider2 的值显示在文本框中。
希望对您有所帮助!