Not able to run any GUI related code
Mostrar comentarios más antiguos
Dear Experts, I am a new learner of MATLAB GUI. I am practicing it using the tutorials available in YOUTUBE.But, I am not able to run any GUI related code in my system.
I am using MATLAB 2012b and Windows-10. MATLAB is custom installed with basic MATLAB only.
Reference to non-existent field 'editl'.
This is the error I get.
Error in ex_2>pushbutton1_Callback (line 151) x = get( handles.editl,'String');
Error in gui_mainfcn (line 96) feval(varargin{:});
Error in ex_2 (line 42) gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)ex_2('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
Respuestas (4)
ES
el 19 de Feb. de 2018
I think there is a typing there in line 151.
x = get( handles.edit,'String');
what this line does is, it gets the content from an edit box with tag 'edit' and puts it in x. You have mentioned it as editl.
Use the debugger to examine the problem: https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html. Use e.g.:
dbstop if error
to let Matlab stop, when the error occurs. Then check, why the field is missing:
fieldnames(handles)
According tp the error message there is no field called 'editl'. Most likely there is one with the name 'edit1' - with a one at the end, not a lower-case L.
Dr. Hareesha N G
el 19 de Feb. de 2018
0 votos
3 comentarios
Please post only the relevant part of the code and explain "still not work" with any details. Do you get an error message or do the results differ from your expectations?
I assume you mean:
x = get( handles.input_1,'String');
y = get (handles.input_2, 'String') ;
x = str2num(x);
y = str2num(y);
set(handles.output, 'String', x+y);
But what does fail here?
Dr. Hareesha N G
el 19 de Feb. de 2018
Jan
el 19 de Feb. de 2018
Isn't the error message clear already? handles.output is set to the handle of the figure in this line:
function ex_2_OpeningFcn(hObject, eventdata, handles, varargin)
...
handles.output = hObject;
Then you cannot set its 'String' property, because figures do not have such a property. Only uicontrol objects have them. So check, where you want what to appear and modify this line accordingly:
set(handles.output, 'String', x+y);
By the way: I prefer to set the 'String' property to a string (char vector), not to a number (although this works, at least in modern Matlab versions):
set(handles.otherHandle, 'String', sprintf('%g', x+y));
msahar
el 2 de Jun. de 2018
0 votos
I guess you do not have ex_2.fig file in your folder. Put ex_2.m and ex_2.fig files in same folder and run it.
Categorías
Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!