毕业设计GUI用户界面制作 求教
已经做好了表面,里面的具体的问题就是在调用edit callback 时得不到需要的数据(h1 h2 k k1 k2 ),界面上nz1=h2 nz2=k nz3=h1 Espr2=e1 Espr3=e2其余的数据都不需要修改,在另外调用的函数里都已经被设定,界面上只是表面文章,所以涉及的只是5个数据,而且 k+h2必须为75 。
在pushbotton2 callbak里的loaddata convert objsignal reflect 都是已经定义好的function 在这些function里还用到h1 h2 k k1 k2 所以我想是不是应该定义全局变量?但是我觉得 matlab 程序是按顺序执行下来的,M文件函数首先取得 edit 里的数据,然后在在pushbotton里callback 调用这些数据,没有错啊。报错时就是
??? Undefined function or variable 'h2'.
Error in ==> G:\ss\work\sam.m (pushbutton2_Callback)
On line 212 ==> if h2+k>75
Error in ==> D:\MATLAB\toolbox\matlab\uitools\gui_mainfcn.m
On line 66 ==> feval(varargin{:});
Error in ==> G:\ss\work\sam.m
On line 16 ==> gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
是不是h2 根本就没在edit callback 里被获得?
高手帮忙!!谢谢!!
本人 QQ214957272 EMAIL :xiaobai8581@yahoo.com.cn
直接联系 自己不顶就沉了~~大家帮我!! 你这个程序太长了,没法看
缺少mat等文件,也没办法运行调试 我已经给你回到信箱了 不知你收到我发的邮件没有,再写下哦
你把edit2,edit3,edit4下面的h2,k,h1,三条语句剪切到pushbutton2_Callback下面,if前面,并在每条语句前家上一条:
fgm1=findobj(gcf,'Tag','edit2'); 加
h2=str2num(get(fgm1,'string')); 这是你写的
fgm2=findobj(gcf,'Tag','edit3'); 加
k=str2num(get(handles.edit3,'string')); 同上
fgm3=findobj(gcf,'Tag','edit4'); 加
h1=str2num(get(handles.edit4,'string')); 同上
你没有用到h1参数。是不是做不下去了,就停了。
方法都一样,你用到那各参数就照上面写,一定要写在同一目录下。
建议你不要用GUI,用MATLAB自己编界面。因为你用GUI给别人的M文件,是运行不了的,因为别人没有画GUI的fig图。所以你做完换台机子就运行不了了。除非你把figtu 一起存进work里。这样不太方便。如果自己编的,就只要运行M文件就可显示图了。还有问题欢迎讨论。 我昨天收到你的邮件,马上就试了,还是有错误,具体的我已经发到你油箱,我用的是sampdoria8581@56.com
你查收下,再次感谢!! 我还没有收到,你再发下,问题出在哪里。我试试都对的啊,你那tag后面的字符要对应,可以从fig里查是什么字符< k=str2num(get(handles.edit3,'string'));
h1=str2num(get(handles.edit4,'string'));
同上改
k=str2num(get(fgm2,'string'));
同上
h1=str2num(get(fgm3,'string'));
不好意思不仔细写错了 建议你不要用GUI,用MATLAB自己编界面。因为你用GUI给别人的M文件,是运行不了的,因为别人没有画GUI的fig图。所以你做完换台机子就运行不了了。除非你把figtu 一起存进work里。这样不太方便。如果自己编的,就只要运行M文件就可显示图了。还有问题欢迎讨论。
问题真的是这样吗?
如果有了GUI编程,最后打包在一个没有装matlab的机子上运行有困难吗?
我也是用GUI做毕业设计,请高手指教这个问题 你好,昨天有点事情,今天才看到你的邮件和论坛上的留言。我按你的改了,还是有问题,现在的问题是在子函数里了。 convert里。我很想不通,又要麻烦你了。
??? Undefined function or variable 'h1'.
Error in ==> G:\ss\work\convert.m
On line 9 ==> while ((abs(fyuan(xm,h1,k1,h2,k2,d)-0.00001)>0)&(abs(xb-xa)>0.0000001))
Error in ==> G:\ss\work\sam.m (pushbutton2_Callback)
On line 250 ==> t=convert(i,j,k); %time delay
Error in ==> D:\MATLAB\toolbox\matlab\uitools\gui_mainfcn.m
On line 66 ==> feval(varargin{:});
Error in ==> G:\ss\work\sam.m
On line 16 ==> gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback. function f=fyuan(m,h1,k1,h2,k2,d)
f=h1*k1*m/sqrt(1-(k1*m)^2)+h2*k2*m/sqrt(1-(k2*m)^2)
这个就是在子函数convert里被调用的另外一个子函数,都涉及到界面输入的参数,是不是要在这里和convert里加上那段get? 哈哈 ,真激动哦,调试了,没有错误了~~~很谢谢你这么耐心帮我~~论坛里你这样的人太少了!!没有你的那句话,就是打死我也做不出来啊!我找了很多书,都没有这些列子呢。对于初学者来说,有个点播下的人实在是太重要了!不过还有点小问题,关于图象显示的,我先再自己看看,实在不行再找你吧。呵呵 呵呵,突然受感动了阿 遇到好人了啊,感动是当然了啦 大哥!!请问我要学MATLAB的GUI,有什么书籍么?实在不懂啊,我没有其他任何可视化工具使用的经历。谢谢了!谢谢了!!!我的邮箱street_ease@163.com
我的QQ71186528
页:
[1]
2