MATLAB Answers

"uicontrol" is not working well in MATLAB2015b

1 view (last 30 days)
Meshooo on 2 Feb 2016
Commented: Meshooo on 8 Feb 2016
Dear all, I couldn't run this code in MATLAB2015b, but it was working well before
uicontrol('Style', 'pushbutton', 'String', 'SAVE',...
'Position', [20 20 50 20],...
'Callback', ...
@yourCallback); % what do you want to do?
function yourCallback(ObjH, EventData)
I = getimage;
setappdata(0, 'I', I);
resXGui; %the name of the GUI where to transfer
Error:Function with duplicate name "yourCallback" cannot be defined.
Does anyone knows how to make it work again for MATLAB2015b?
Regards, Meshoo


Sign in to comment.

Answers (1)

Jan on 2 Feb 2016
Edited: Jan on 2 Feb 2016
There is another function called "yourCallback" inside the M-file. Rename the function - I suggest to use meaningful names, because this reduces the chance for such collisions.


Show 1 older comment
Meshooo on 3 Feb 2016
Let's say we have two GUIs, A_GUI and B_GUI and both have axes. Let's say we opened an image in a separate figure
I = imread('cameraman.tif');
figure, imshow (I);
Now how to attach a button to this figure, such that by clicking the button the image I will open in B_GUI.
Walter Roberson
Walter Roberson on 3 Feb 2016
Provided that B_GUI is the figure handle of the target figure (or a uipanel or uitab on the target figure)
I = imread('cameraman.tif');
newfig = figure();
newax = axes('Parent', newfig);
Ih = imshow(newax, I);
cb = @(hObject, eventdata) imshow(axes('Parent', B_GUI), get(Ih, 'CData'))
bh = uicontrol('style', 'push', 'Parent', newfig, 'Callback', cb);

Sign in to comment.

Sign in to answer this question.