声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1233|回复: 4

[GUI界面] 【求助】GUI编程的一个问题

[复制链接]
发表于 2008-11-28 09:04 | 显示全部楼层 |阅读模式

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

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

x
当设定好sin(x)曲线的线型、颜色等性质后,再点exp(-x),曲线的性质就又变回到默认状态了!
我希望选取exp(-x)时,保持在sin(x)设定好的曲线性质,请问该如何编程?谢谢~

  1. close,clear,clc
  2. figure(1)
  3. set(gcf,'Position',[100,300,300,200],...
  4. 'Numbertitle','off',...
  5. 'Name','GuiDm_1')
  6. x=0:0.1:10;
  7. y=sin(x);
  8. p=plot(x,y);
  9. xlabel('x');
  10. ylabel('y=sin(x)');

  11. stl=uimenu(gcf,...
  12. 'Label','select equation',...
  13. 'BackgroundColor',[0.8,0.8,0.8])
  14. s=uimenu(gcf,...
  15. 'Label','Line style',...
  16. 'BackgroundColor',[0.8,0.8,0.8],...
  17. 'Position',8);
  18. c=uimenu(gcf,...
  19. 'Label','Line Color',...
  20. 'BackgroundColor',[0.8,0.8,0.8],...
  21. 'Position',9);
  22. w=uimenu(gcf,...
  23. 'Label','Line width',...
  24. 'BackgroundColor',[0.8,0.8,0.8],...
  25. 'Position',10);

  26. f1=uimenu(stl,...
  27. 'Label','y=sin(x)',...
  28. 'CallBack','p=plot(x,sin(x));xlabel(''x'');ylabel(''y=sin(x)'')')
  29. f2=uimenu(stl,...
  30. 'Label','y=exp(-x)',...
  31. 'CallBack','p=plot(x,exp(-x));xlabel(''x'');ylabel(''y=exp(-x)'')')
  32. solid=uimenu(s,...
  33. 'Label','Solid',...
  34. 'CallBack','set(p,''LineStyle'',''-'')')
  35. dotted=uimenu(s,...
  36. 'Label','Dotted',...
  37. 'CallBack','set(p,''LineStyle'','':'')')
  38. yellow=uimenu(c,...
  39. 'Label','Yellow',...
  40. 'BackgroundColor',[0.9,0.9,0.1],...
  41. 'CallBack','set(p,''Color'',''g'')')
  42. green=uimenu(c,...
  43. 'Label','Green',...
  44. 'BackgroundColor',[0.1,0.9,0.1],...
  45. 'CallBack','set(p,''Color'',''g'')')
  46. red=uimenu(c,...
  47. 'Label','Red',...
  48. 'BackgroundColor',[0.9,0.1,0.1],...
  49. 'CallBack','set(p,''Color'',''r'')')
  50. thin=uimenu(w,...
  51. 'Label','thin0.5',...
  52. 'CallBack','set(p,''LineWidth'',0.5)')
  53. thick=uimenu(w,...
  54. 'Label','thick2.0',...
  55. 'CallBack','set(p,''LineWidth'',2.0)')
复制代码
回复
分享到:

使用道具 举报

发表于 2008-11-28 17:36 | 显示全部楼层
f1=uimenu(stl,...
'Label','y=sin(x)',...
'CallBack','p=plot(x,sin(x));xlabel(''x'');ylabel(''y=sin(x)'')')
f2=uimenu(stl,...
'Label','y=exp(-x)',...
'CallBack','p=plot(x,exp(-x));xlabel(''x'');ylabel(''y=exp(-x)'')')  
在这两个callback函数中,首先获取已有曲线(line)的颜色和线性等属性,并在随后的plot函数中指定颜色和线性
 楼主| 发表于 2008-11-28 22:27 | 显示全部楼层

回复 沙发 ydlcsu 的帖子

不好意思,还是没有想出来应该怎么处理。
您指点的"首先获取已有曲线(line)的颜色和线性等属性"这一步怎么实现啊,麻烦您介绍个函数。谢谢了!
发表于 2008-11-29 22:10 | 显示全部楼层
晕,你会用set函数,不会用get函数??
原帖由 kangxiaoxiao 于 2008-11-28 22:27 发表
不好意思,还是没有想出来应该怎么处理。
您指点的"首先获取已有曲线(line)的颜色和线性等属性"这一步怎么实现啊,麻烦您介绍个函数。谢谢了!
 楼主| 发表于 2008-11-29 23:16 | 显示全部楼层

回复 地板 ydlcsu 的帖子

我用过了,没成功。
请你帮忙编一下吧,谢谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-22 23:25 , Processed in 0.056537 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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