Если вы используете guide
, вы можете получить доступ к другим ползункам из переменной handles
, которая доступна в каждом обратном вызове.
Установите для них свойство Value
.
function Slider1_CallBack(hObj,evt,handles)
set(handles.Slider1,'Value',10);
set(handles.Slider2,'Value',10);
% etc..
end
Если вы используете его программно, вы можете сохранить handles
вручную.
function main
handles.Figure1 = figure(..);
handles.Slider1 = uicontrol(...);
handles.Slider2 = uicontrol(...);
guidata(handles.Figure1,handles);
end
И ваш обратный вызов слайдера должен быть:
function Slider1_CallBack(hObj,evt)
handles = guidata(hObj);
set(handles.Slider1,'Value',10);
set(handles.Slider2,'Value',10);
% etc..
end
Редактировать Хорошей практикой написания пользовательского интерфейса является отделение логики графического интерфейса от фактических данных. Вы всегда меняете данные и вызываете updateGUI
рутина.
Поэтому вы можете написать свою программу так:
function main
handles.gui.Figure1 = figure(..);
handles.gui.Slider1 = uicontrol(...);
handles.gui.Slider2 = uicontrol(...);
handles.data.x = 1;
guidata(handles.Figure1,handles);
end
function UpdateGui(handles)
%Based on the data, update the GUI
set(handles.Slider1,'Value',handles.data.x);
set(handles.Slider2,'Value',handles.data.x+1);
end
И обратный вызов должен выглядеть так:
function Slider1_CallBack(hObj,evt)
handles = guidata(hObj);
handles.data.x = handles.data.x + 1;
UpdateGui(handles);
guidata(hObj,handles);
% etc..
end