声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1505|回复: 5

[GUI界面] popup按钮如何调用不同的函数

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

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

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

x
hpop=uicontrol(h_main,'style','popup',...   
   'position',[0.035,0.75,0.12,0.12],...
   'string','无|sin(x)|cos(x)|tan(x)',...
   'callback',  ********           );                 这里的调用如何编写啊,下拉popup按钮后,选择sin(x),就调用了sin(x)绘图 ,选择cos(x),就调出cos(x)的图啊,x已经定义了

请指教
回复
分享到:

使用道具 举报

发表于 2006-12-20 11:23 | 显示全部楼层
原帖由 plsdd 于 2006-12-20 10:48 发表
hpop=uicontrol(h_main,'style','popup',...   
   'position',,...
   'string','无|sin(x)|cos(x)|tan(x)',...
   'callback',  ********           );                 这里的调用如何编写啊,下拉popup按钮 ...



'callback',@myfunc);
......

function myfunc(hObject,eventdata,handles)
switch get('hObject','Value')
case 1
sin(x)%这里自己写想要的函数
case 2
cos(x)
case 3
tan(x)
end


上面代码自己试试吧,我这里没有matlab,不能保证完全正确
 楼主| 发表于 2006-12-20 11:50 | 显示全部楼层
对这个不太熟

??? Error while evaluating uicontrol Callback

??? Undefined function or variable 'hpop'.

Error in ==> timeRE>myfunc at 107
switch get(hpop,'Value')

hpop怎么传不进来啊,是不是要在最开始定义全局变量?
发表于 2006-12-20 20:53 | 显示全部楼层
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','实例36');
x=0:0.5:2*pi;
y=sin(x);
h=plot(x,y);
grid on
hm=uicontrol(gcf,'style','popupmenu',...
    'string',...
    'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',...
    'position',[250 20 50 20]);
set(hm,'value',1)
huidiao=[...
        'v=get(hm,''value'');,',...
        'switch v,',...
        'case 1,',...
        'delete(h),',...
        'y=sin(x);,',...
        'h=plot(x,y);,',...
        'grid on,',...
        'case 2,',...
        'delete(h),',...
        'y=cos(x);,',...
        'h=plot(x,y);,',...
         'grid on,',...
        'case 3,',...
        'delete(h),',...
        'y=sin(x)+cos(x);,',...
        'h=plot(x,y);,',...
         'grid on,',...
        'case 4,',...
        'delete(h),',...
        'y=exp(-sin(x));,',...
        'h=plot(x,y);,',...
         'grid on,',...
        'end'];
set(hm,'callback',huidiao)
set(gca,'position',[0.2 0.2 0.6 0.6])
title('弹出式菜单的使用')
 楼主| 发表于 2006-12-21 09:25 | 显示全部楼层
呵呵,谢谢老八和jimin(纪敏?),又知道个东西了
发表于 2006-12-21 11:37 | 显示全部楼层
原帖由 plsdd 于 2006-12-20 11:50 发表
对这个不太熟

??? Error while evaluating uicontrol Callback

??? Undefined function or variable 'hpop'.

Error in ==> timeRE>myfunc at 107
switch get(hpop,'Value')

hpop怎么传不进来啊 ...



敲错了,我想应该是 get(hObject,'value'),呵呵。不好意思,没有matlab,不能运行
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 20:06 , Processed in 0.058891 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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