Appdesigner - slider changed function - missing argument

7 views (last 30 days)
Hello, I am trying to programmatically change the scaling of an imgae on a uifigure by using a slider
fig = uifigure('Name','Montage');
fig.Position = [300 500 1200 400];
g = uigridlayout(fig);
g.RowHeight = {'2x','2x','1x'};
g.ColumnWidth = {'1x'};
ax1 = uiaxes(g);
ax1.Layout.Row = [1 2];
ax1.Layout.Column = 1;
sld1=uislider(g,'ValueChanged',@(sld1,event) updateImage(event,ax1,sld1)); %Need to palso pass ax1 I think
sld1.Layout.Row = [3];
sld1.Layout.Column = 1;
mx=double(max(Image2(:)));
sld1.Limits = [1 mx];
v=min(mx,round(hi));
sld1.Value=double(v)
imshow(Image2,[lo hi],'Parent',ax1);
Where
function results = updateImage(event,ax1,sld1)
value=sld1.Value
ax1.CLim=[0 max(1,value)];
But this leads to the error:
Check for missing argument or incorrect argument data type in call to function 'updateImage'.
Error in PhotonControl>@(sld1,event)updateImage(event,ax1,sld1) (line 2398)
sld1=uislider(g,'ValueChanged',@(sld1,event) updateImage(event,ax1,sld1));
Error using matlab.ui.control.internal.controller.ComponentController/executeUserCallback (line 429)
Error while evaluating Slider PrivateValueChangedFcn.

Accepted Answer

Mario Malic
Mario Malic on 17 Nov 2020
Hello,
Right click on the Slider component, create a callback - ValueChangedFcn
% Example text, adjust to the actual component names
% Value changed function: CupHeightWeightEditField
function SliderValueChanged(app, event)
value = app.SliderComponent.Value
app.UIAxes.CLim=[0 value];
end
  9 Comments
Jason
Jason on 18 Nov 2020
Thankyou, this is what I was missing:
app.Slider2.ValueChangedFcn = createCallbackFcn(app, @SliderValueCback, true); % Creating callback, see function

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!