Not able to run any GUI related code
이전 댓글 표시
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
답변 (4개)
ES
2018년 2월 19일
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
2018년 2월 19일
0 개 추천
댓글 수: 3
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
2018년 2월 19일
Jan
2018년 2월 19일
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
2018년 6월 2일
0 개 추천
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.
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!