How to solve this error "Reference to non-existent field 'axes5".
2 次查看(过去 30 天)
显示 更早的评论
I have created a GUI using GUIDE, the tag name is axes5, and the code of the callback function is as follows,
While execution of the program i'm getting the following error shown above in the picture. What might be the issue?
%------------------------------------------------------------------------------------
function stego_image_Callback(hObject, eventdata, handles)
% hObject handle to stego_image (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
load out;
[filename, pathname] = uigetfile('*.mat', 'Pick an M-file');
if isequal(filename,0) || isequal(pathname,0)
disp('User pressed cancel');
end
axes(handles.axes5);
imshow(out,[]);
%-------------------------------------------------------------------------------------
2 个评论
Rik
2021-6-22
For general advice and examples for how to create a GUI (and avoid using GUIDE), have look at this thread.
回答(1 个)
Vimal Rathod
2021-6-22
Hi,
you could get the handle of the GUI element specific to the tag using the following code.
h = findobj('Tag','axes5')
Refer to the following link to know more about findobj function.
1 个评论
Walter Roberson
2021-6-22
If a graphics object with the tag axes5 existed after the GUI was loaded from the fig file and all of the CreateFcn have been run, then GUIDE would automatically have created handles.axes5 .
It is possible that someone has been careless about updating the handles struct, and so in theory it could be the case that a line of code has accidentally removed handles.axes5 from handles. However, in my experience it is much more likely that in this situation, there is no object with tag 'axes5'
Exception: trying to manage two distinct GUIDE guis from the same GUI can lead to this situation. The handles structure belongs to the figure, so if you have a callback on a second figure, GUIDE would invoke the callback with whatever handles are stored for the second figure instead of for the first figure.
... But most of the time, the axes was either deleted by the user in GUIDE, or else the axes has a slightly different name than expected, or else the user made a mistake in the thinking about which axes was involved.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!