Appdesigner - slider changed function - missing argument

8 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;
sld1.Limits = [1 mx];
imshow(Image2,[lo hi],'Parent',ax1);
function results = updateImage(event,ax1,sld1)
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
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];
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)


Find more on Develop uifigure-Based Apps 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!