Error :Input argument "handles" is undefined with the axes
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I tried to implement a simple GUI in MAtlab7.7 like the below
function varargout = start1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @start1_OpeningFcn, ...
'gui_OutputFcn', @start1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
function start1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
function varargout = start1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
start=uicontrol('Style','pushbutton','String', 'start', 'Position',[20 400 50 20],'Callback',@startbutton_Callback);
Exit=uicontrol('Style','pushbutton','String', 'Exit', 'Position',[20 20 50 20],'Callback',@pushbutton1_Callback);
function pushbutton1_Callback(hObject, eventdata, handles)
display('Goodbye');
close(gcf);
function startbutton_Callback(hObject, eventdata, handles)
axes(handles.axes2);
plot(sin(0:0.1:10))
It is giving error as
??? Input argument "handles" is undefined.
Error in ==> start1>startbutton_Callback at 91
axes(handles.axes2);
??? Error while evaluating uicontrol Callback
2 个评论
Dishant Arora
2014-3-15
function startbutton_Callback(...)
handles
See what it echos at command prompt. Does the handles structure have field named axes2. It might be possible that you have given a different tag to it.
采纳的回答
Walter Roberson
2014-3-15
Only the object and the event are automatically added as input arguments to a callback. If you want handles to be passed as well you need to arrange that. When you use GUIDE to create graphic objects, it automatically puts appropriate code as the callback.
In your situation, where you are using only a single figure, I would recommend removing handles from the argument list, leaving the uicontrol() the way it is, and adding the following as the first line of code in the callback:
handles = guidata(hObject);
5 个评论
Walter Roberson
2014-3-15
text() it into position.
If you do not have any existing plot then image() and imagesc() and imshow() use row and column counts as the x and y coordinates so use those for your x and y for text() purposes. Just watch out for whether (1,1) is at the top left or at the bottom left.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Identification 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!