——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频0:GUI中的基本操作—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2Mjk0MjM2.html?firsttime=200
——————————————————————————————————————————————————————————————————————
在看完这个视频后想到一个问题
在一个按键的回调函数中实现的语句,能否放在在其他按键回调函数中一样实现?
(可以,但是注意的是,我们对某个按键进行操作的时候,实际上触发了那个按键的回调函数,所以只会运行该按键的回调函数)
这里说下GUI传递数据跟句柄的一些东西,更多的可以参看MatLab GUI 数据传递[1]
回调函数:function panel_Callback(hObject, eventdata, handles) %以panel为例
eventdata是保留参数,可以忽略
hObject
在回调函数中需要调用自己的属性时,需要用到hObject这个参数,只需hObject.属性名(如hObject.value) 就可以了
handles
是这个GUI界面的代号。可以通过它获取这个界面的所有信息。所以在控件A自己的回调函数中,要获取或者设置别的控件的属性,就用 handles.别的控件Tag.属性
如set(handles.edit1,'string','123')
以上两个参数都是典型的结构体,大概画了下handle跟GUI的关系
在handle中定义自己的变量和引用变量
在任何地方
handles.自己的变量名 = 某些值 (其实也就是给结构体添加成员变量)
这样你就定义了自己的变量。
b=handles.自己的变量名 (结构名加点号来引用成员变量)
就可以得到这个变量值,同样也可以修改它。
别忘了使用
guidata(hObject, handles);(不用改,直接黏贴) 在函数末尾来保存你对handles和hObject的操作。(不然你自定义的变量就没了)
%guidata( 视窗句柄 , 全部句柄 ),如果视窗句柄位置不是视窗