声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1256|回复: 7

[GUI界面] 文件导航已实现请看我的回帖,但是现在小女子又遇到新问题了

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

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

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

x
我设计的图上有三个'radio'类型的控件<BR><FONT color=#ff3300>function Step(sheme)</FONT><BR>.......<BR><FONT color=#f73809>  case  1<BR></FONT>        radio_AngleCurve=uicontrol(h_fig,'style','radio',...<BR>                                  'position',[0.33 0.74 0.15 0.08],...<BR>                                  'Units','normalized', ...<BR>                                  'string','Angle Curve',...<BR>                                  'BackgroundColor',[0.5 0.5 0.7],...<BR>                                  'callback','Step(''test1'')');<BR><BR>        radio_SpeedCurve=uicontrol(h_fig,'style','radio',...<BR>                                  'position',[0.33 0.64 0.15 0.08],...<BR>                                  'Units','normalized', ...<BR>                                  'string','Speed Curve',...<BR>                                  'BackgroundColor',[0.5 0.5 0.7],...<BR>                                  'callback','Step(''test2'')');<BR><BR>        radio_VoltageCurve=uicontrol(h_fig,'style','radio',...<BR>                                  'position',[0.33 0.54 0.15 0.08],...<BR>                                  'string','Voltage Curve',...<BR>                                  'Units','normalized', ...<BR>                                  'BackgroundColor',[0.5 0.5 0.7],...<BR>                                  'callback','Step(''test3'')');<BR>   <FONT color=#f73809>case  'test1'</FONT><BR>           x=1:1:10;<BR>           y=x;<BR>           plot(x,y)<BR>    <FONT color=#f73809>case  'test2'</FONT><BR>           x=0:pi/50:2*pi<BR>           y=sin(x);<BR>           plot(x,y);<BR>     <FONT color=#f76809>case  'test3'<BR></FONT>           x=0:pi/50:2*pi<BR>           y=cos(x);<BR>           plot(x,y);<BR> <FONT color=#f70909>end<BR></FONT>一般书上都讲了两个的情况,如何点击一个''无线电''使小圆圈点黑,使另外一个''无线电''按钮圆心为空<BR><BR>但是我现在有三个这样的东东,不知道怎么才能点击一个的时候调用需要的图行,不被点击而点击别的''无线电''按钮时小圆圈自动转为空心.<BR><BR><FONT color=#113dee>拜托各位了,急用呢,在线等各位大虾!</FONT>
回复
分享到:

使用道具 举报

发表于 2006-6-19 12:11 | 显示全部楼层
都是一个道理<BR>方法1:<BR>假设hr1-hr3为三个radio句柄:<BR>'set(hr1,''value'',get(hr1,''max'')),',...%选中小圆圈点黑<BR>'set(hr2,''value'',get(hr2,''min'')),',...%将互斥选项2点白<BR>'set(hr3,''value'',get(hr3,''min'')),',...%将互斥选项3点白<BR>方法2:<BR>uibuttongroup(v7以上)<BR>h = uibuttongroup('Position',[0 0 .2 1]);<BR>u0 = uicontrol('Style','Radio','String','Option 1',...<BR>    'pos',[10 350 100 30],'parent',h);<BR>u1 = uicontrol('Style','Radio','String','Option 2',...<BR>    'pos',[10 250 100 30],'parent',h);<BR>u2 = uicontrol('Style','Radio','String','Option 3',...<BR>    'pos',[10 150 100 30],'parent',h);<BR>具体callback如何写看看帮助里的实例即可,无需多说。<BR>
发表于 2006-6-19 13:56 | 显示全部楼层
二楼说的精到,一楼尽可尝试
 楼主| 发表于 2006-6-19 14:25 | 显示全部楼层

回复:(bainhome)都是一个道理方法1:假设hr1-hr3为...

<P><FONT color=#ff0000>按照二楼的意见,修改为,但是运行结果不对的哦!</FONT>        <BR>radio_AngleCurve=uicontrol(h_fig,'style','radio',...<BR>                                  'Units','normalized', ...     <BR>                                  'position',[0.33 0.74 0.15 0.08],...<BR>                                  'string','Angle Curve',...<BR>                                  'BackgroundColor',[0.5 0.5 0.7],...<BR>                                  'callback',['Step_3(''test1'')',...<BR>                                  'set(radio_AngleCurve,''value'',1)',...<BR>                                  'set(radio_SpeedCurve,''value'',0)',...<BR>                                  'set(radio_VoltageCurve,''value'',0)']);<BR><BR><FONT color=#f73809>结果还是不行的啊,还返回错误为:</FONT><BR>??? Error: Missing operator, comma, or semicolon.</P>
<P>??? Error while evaluating uicontrol Callback.<BR><BR><FONT color=#0909f7>大虾们在帮我看看的啦</FONT></P>
发表于 2006-6-19 14:39 | 显示全部楼层
??? Error: Missing operator, comma, or semicolon.<BR>什么缺个逗号分号的语法错误和radio有什么关系?callback里语句连分隔符都不用,当然提示错误!
 楼主| 发表于 2006-6-19 15:10 | 显示全部楼层

回复:(bainhome)??? Error: Missing operator, com...

<P>后来我改过来了,还是不正确的哦<BR>而且错误更奇怪了:<BR>??? Undefined function or variable 'radio_AngleCurve'.</P>
<P>??? Error while evaluating uicontrol Callback.</P>
 楼主| 发表于 2006-6-19 16:47 | 显示全部楼层

回复:(bainhome)??? Error: Missing operator, com...

请高手指点................[em14][em14][em14]
发表于 2006-6-19 17:27 | 显示全部楼层
<P>显然是参数和句柄在不同子程序之间传递的问题,一句两句根本说不清,自己去找找GUI句柄如何在子程序之间传递调用的书籍和帮助看看<BR>=================================================<BR>关于handles: <BR>实际上这个handles是MATLAB中GUI编程中最常用的一个句柄管理变量。 <BR>handles的生成:handles = guihandles( figurehandle );将figure中所有对象中“Tag”属性有值的句柄的handle采集在一起。handles是结构名,每个“Tag”域名里保持此对象的句柄。 <BR>handles的保存:guidata( figurehandle, handles );handles将保存在figure对象的“ApplicationData”的一个域名里。 <BR>handles的使用:handles = guidata( h );其中为figure中任意一个对象的句柄。 <BR>handles.SpeechSourceGui可能是一个figure的句柄,“userdata”是一个对象的属性,可以在其中存取任何数据。但是我不怎么用它,一则它只能存一个变量;二则它无法存入变量的名字,很难区分。 <BR>=================================================<BR>cwit原来写过一个函数结构与参数传递的帖子,上述为其中相关的一部分,仔细琢磨一下guidata和guihandles两个命令的用法吧。否则,你以为“奇怪”其实却再理所当然不过的错误你会一犯再犯。因为这个问题超过了你问的这个帖子主题当初的范围,不再多说。good luck!</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-25 11:21 , Processed in 0.065166 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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