声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 979|回复: 1

[求助]急问,如何取得输入的数字

[复制链接]
发表于 2006-4-10 17:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
在菜单的Callback中输入:a(1)=uicontrol('Style','edit','Position',[540 450 50 18]);<BR>                                          p(1)=uicontrol('Style','pushbutton','string','OK','Position'  <BR>                                                                  [540  430 50 18],'Callback','aaa1');<BR>然后新建一个m文件,如下:<BR>function aaa1()<BR>Kc=get(a(1),'string');<BR>.......<BR><BR>但是运行时程序说:<BR>???Undefined function or variable 'a'<BR><BR>Error in ==&gt; F:#MATLAB6p5\work\aaa1.m<BR>On line 2 ==&gt; Kc=get(a(1),'string');<BR><BR>???Error while evaluating uicontrol Callback<BR><BR>我该怎么办,尝试了许多办法都不行<BR>后来我用了:<BR>function aaa1()<BR>qw1=findobj(gcbf,'tag','a(1)');<BR>Kc=get(qw1,'string');<BR>.......<BR><BR>这回没有报错,但我也不知道Kc是不是拿到了我输入的数字,不知道有什么办法可以观察Kc<BR>不过运行的结果并不对,似乎取值一直为0的样子<BR><BR><BR>请问我该怎么处理才正确<BR>
回复
分享到:

使用道具 举报

发表于 2006-4-11 07:55 | 显示全部楼层
<P>function aaa1()<BR>Kc=get(a(1),'string');<BR>句柄a(1)是不能够被其它函数真接利用的,如果要利用,就要运用findobj函数,当然也有其它方法<BR><BR>function aaa1()<BR>qw1=findobj(gcbf,'tag','a(1)');<BR>Kc=get(qw1,'string');<BR><BR>错误地方有两:<BR>gcbf应改成gcf,表示当前的地图上<BR>还有你错误地运用了findobj函数,qw1=findobj(gcbf,'tag','a(1)')它表示在当前地图下,找出属性tag为a(1)的句柄赋给qw1,你在a(1)=uicontrol('Style','edit','Position',[540 450 50 18]);都没设置tag属性又怎么能找能到句柄a(1)<BR>解决方法:a(1)=uicontrol('Style','edit','Position',[540 450 50 18],'tag','XX');设置tag属性<BR>         qw1=findobj(gcf,'tag','XX'),这样就能获得句柄a(1)并赋给qw1<BR><BR>想看到Kc的输出,在aaa1最后加上Kc,不要分号,要不然就不能在命令窗口看到输出了,当然也可能把Kc=get(qw1,'string');后面的分号去掉,两者道理都是一样的</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-20 19:38 , Processed in 0.065198 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表