MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   请帮帮忙,我真的一愁莫展了 (https://www.labfans.com/bbs/showthread.php?t=2835)

xs1119 2008-05-05 16:16

请帮帮忙,我真的一愁莫展了
 
我就想用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,否则需要加入变量是否为数字的判断性语句,

xs1119 2008-05-05 22:30

谢谢, 我是这么做的,可是有个新问题,我是这么解决的,但不知道为什么?
 
刚开始,我是这么做的,可是,老是出现

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文件,这样大家可以在自己机器上进行调试,看是问题出在哪里!

xs1119 2008-05-11 00:42

谢谢了,我后来又调试一下,好了~真的很感谢你
 
:lol: :lol: :lol: :lol:

沙砾 2008-06-09 21:38

看别人的问题,不断学习,不断进步,呵呵!!
 
:lol:

s060872 2008-09-04 15:15

回复: 请帮帮忙,我真的一愁莫展了
 
先从书里面学习一下gui的例子吧,


所有时间均为北京时间。现在的时间是 05:10

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.