查看完整版本 : 请帮帮忙,我真的一愁莫展了
我就想用GUI,做个简单的输入,和输出的用户界面
功能:就是用户给定数据,然后用我的计算程序计算出来,然后显示到这个界面上
简单的说,就是用户给出 a,b的值, 我来计算c=a+b,然后,我把c显示到界面上。应该怎么做,版主或者高手指点一下,或者给一个例证程序也好,最好用guide做的。还有
我做了一个,出错了Error in ==> abc>pushbutton1_Callback at 127
a=str2num(get(handles.a,'String'))
Error in ==> gui_mainfcn at 75
feval(varargin{1:2});,这个是什么意思阿?
:lovely: :cry:
bluepiston
2008-05-05, 20:05
需要运用3个 Edit text 组件和一个 pushbutton组件,其他的静态文本组件自己看着选择添加,
把所有操作放在 pushbutton的callback 函数中,相关语句给出如下
a=str2num(get(handles.edit_a,'String'))
b=str2num(get(handles.edit_b,'String'))
c=a+b
set(handles.edit_c,'String',num2str(c))
建议把变量 a,b 的初始值写成0,否则需要加入变量是否为数字的判断性语句,
刚开始,我是这么做的,可是,老是出现
Error in ==> abc>pushbutton1_Callback at 127
a=str2num(get(handles.a,'String'))
Error in ==> gui_mainfcn at 75
feval(varargin{1:2});
这样的错误,后来,我把gui初始化中的
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
替换成
if nargin == 0 % LAUNCH GUI
fig = openfig(mfilename,'reuse');
set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));
handles = guihandles(fig);
guidata(fig, handles);
if nargout > 0
varargout{1} = fig;
end
elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK
try
if (nargout)
[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
else
feval(varargin{:}); % FEVAL switchyard
end
catch
disp(lasterr);
end
end
这个错误就不出现了,但是我不知道为什么?还望指点:lovely: :lovely:
bluepiston
2008-05-06, 23:15
因为你的实际问题我不太清楚,但就你在第一次描述的问题中给定的例子,我用给出的关键语句调试是没有问题的.后面你说的问题,最好把你的fig传一份上来,然后附上你的m文件,这样大家可以在自己机器上进行调试,看是问题出在哪里!
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.