Error while evaluating UIControl Callback from a checkbox on a figure

5 views (last 30 days)
hello, Im and trying to repeat somethign that worked in GUIDE, but not in appdesigner: when the user presses a pushbutton on my GUI, a figure is created with a plot on it. I also want to have a checkbox and if the user selects it then perform some calcs on the data and display it.
fig=figure;
fig.Position = [300 500 1200 400];
ax2=subplot(1,2,2);
c2=improfile(I,x2,y2);
plot(ax2,c2,'color',[0.18 0.67 0.12]);
grid on;
title(ax2,'Vertical (ROI)','Color',[0.18 0.67 0.12])
c = uicontrol('Style', 'checkbox',...
'String', {'13.5% Width'},...
'Position', [100 3 80 20],...
'Callback', @(src,evt) calc13_5Width(src, evt,c2));
I then create a funtion (public) as:
function calc13_5Width(src, evt,c2);
disp('Here') %just testing for now
end
However i get the error message
Check for missing argument or incorrect argument data type in call to function 'calc13_5Width'.
Error in PhotonControl>@(src,evt)calc13_5Width(src,evt,c2) (line 4077)
'Callback', @(src,evt) calc13_5Width(src, evt,c2));
Error while evaluating UIControl Callback.
any ideas?
thanks
Jason

Answers (1)

Jan
Jan on 19 Mar 2021
Edited: Jan on 19 Mar 2021
USe the debugger to check the cause of the problem. Type this in the command window:
dbstop if error
Run the code again. When Matlab stops at the error, check the locally used variables, most of all: c2
Does the same error occur, if you define the callback as:
'Callback', {@calc13_5Width, c2}, ...
  5 Comments
Jason
Jason on 20 Mar 2021
Its when I click the checkbox thats on the figure I get the error, so when the callback is called.
I know C2 exists as I output it in the command window, and I actually plot it on the figure and see it.
"Calling the callback of a GUI element of a figure from an uifigure sounds like a strange and indirect approach".
OK, so is there a better way. What I have is a GUI that creates a line scan through an image thats on my GUI. I create a seperate figure to show the linescan.

Sign in to comment.

Categories

Find more on Maintain or Transition figure-Based Apps in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!