toggle button control checkboxes that each has a slider
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i want to use toggle with checkboxes that can control the buttons as for buttons can be push at the same time. however what i do can only move one button. please help.
toggleforall = uicontrol('Style','Togglebutton',...
'String','Pumping Stop',...
'Units','Normalized',...
'BackgroundColor',GUI.menucolor,...
'Position',[.58 .80 .05 .04],'Tag','tbfa','callback',@pumpcontrol);
checkbox1=(f,'Style','checkbox','UserData','Pump1',...
'Units','Normalized','Value',0,...
'Position',[.73 .37 .02 .02]);
checkbox2=(f,'Style','checkbox','UserData','Pump2',...
'Units','Normalized','Value',0,...
'Position',[.74 .37 .02 .02]);
slider1=uicontrol(f,'Style','slider',...
'Min',0,'Max',100,'Value', 0,...
'SliderStep',[0.05 0.2],'Tag','slider1',...
'Units','Normalized','Position',[.78 .66 .08 .04]);
slider2=uicontrol(f,'Style','slider',...
'Min',0,'Max',100,'Value', 0,...
'SliderStep',[0.05 0.2],'Tag','slider2',...
'Units','Normalized','Position',[.79 .66 .08 .04]);
function pumpcontrol(hObject, eventdata, handles)
val=get(hObject,'value');
check = get(hObject, 'UserData');
if check ~= 0
if val==1 % button down
set(hObject,'BackgroundColor',GUI.offcolor,... %yellow = pump running
'string',[get(hObject, 'UserData') ' running'],'FontSize',10);
if check == slider1
GUI.p1Running = 1;
p1.ts = 0;
p1.num = str2num(get(textbox1,'String'));
ps=get(GUI.button(check),'Max')-get(GUI.button(check),'value')+20;
set(p1.t, 'Period', ps/1000); %the number can change pumping speed
start(p1.t);
elseif check == slider2
check = slider2;
GUI.p2Running = 1;
p2.ts = 0;
p2.num = str2num(get(GUI.button(check+1),'String'));
ps=get(GUI.button(check),'Max')-get(GUI.button(check),'value')+20;
set(p2.t, 'Period', ps/1000);
start(p2.t);
end
1 Kommentar
Adam
am 26 Jul. 2018
if check == slider1
is not going to work. I am assuming your function is a nested function, although it is impossible to tell from the code you posted. If it isn't then slider1 is not in scope in the function pumpcontrol.
Mostly though slider1 is a uicontrol, check is a boolean. why are you trying to compare them for equality?
Antworten (0)
Siehe auch
Kategorien
Mehr zu Call Python from MATLAB finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!