加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab自定义回调函数语法规则

(2010-05-08 17:24:12)
标签:

回调函数

matlab

语法规则

句柄

it

分类: Matlab

在进行GUI编程时,是不是经常遇到需要自己定义针对某一对象的回调函数的问题?

首先用set设置回调函数的名称和输入参数,然后定义回调函数,实现想要的功能。

matlab针对回调函数的定义有如下语法规则需要遵守:

如何设置回调函数

如何定义回调函数

set(h, 'StartFcn', 'myfile')

function myfile

set(h, 'StartFcn', @myfile)

function myfile(obj, event)

set(h, 'StartFcn', {'myfile', var1, var2, ...})

function myfile(obj, event, arg1, arg2, ...)

set(h, 'StartFcn', {@myfile, var1, var2, ...})

function myfile(obj, event, arg1, arg2, ...)

1、第一种情况:不需要向回调函数传递任何参数。

2、第二种情况:向回调函数传入调用回调函数的对象的句柄以及eventmatlab留待以后使用)的值。

3、第三、四种情况:向回调函数传入调用回调函数的对象的句柄以及用户想要传递的参数(多个)

因此,在设置和定义对象的回调函数时,要遵循以上的对应规则。

http://www.ilovematlab.cn/viewthread.php?tid=52650&extra=&highlight=%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0&page=1

 

另外,回调函数如果很长就单独写在外面,如果少的话就可以直接写在后面,比如:

f =figure('position',[400,400,600,400],'toolbar','none','menubar','none');

btn = uicontrol('parent',f,'position',[20,20,50,20],...

'callback','t = 1:0.1:20;y = sin(t);plot(t,y);');

 

写法跟M文件差不多,只是多了引号而已,但要注意,如果语句本身带引号,就要写两个单引号,如'delete(findobj(0,''Type'',''axes''))'

 

http://www.ilovematlab.cn/viewthread.php?tid=13590&highlight=%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有