标签:
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( 视窗句柄 , 全部句柄 ),如果视窗句柄位置不是视窗句柄,而是一个控件的句柄,那么这个控件的父视窗(parent figure)会被调用。所以guidata中的视窗句柄 可以是figure的句柄,也可以是figure内所包含的控件的句柄,不管是哪种情况,最终handles会和figure相关联。全部句柄即GUI句柄handles
怎么在控件callback函数体之外获取控件和用户自己的数据
temp=get(handles.my_popup,‘Value‘);
在其他子函数或者非figure内控件的callback内保存用户数据到guidata
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频2:设置GUI窗口尺寸可调—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2Mjk3Njg0.html
——————————————————————————————————————————————————————————————————————
其实就是一个设置:Tools→GUI Opinions→Resize Behavior→Proportional .....................
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频3:滚动条数值显示在文本框中—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2Mjk5NjU2.html
——————————————————————————————————————————————————————————————————————
技巧是在文本框回调程序中get滚动条的value,set文本框文字改为滚动条的value
有个疑问:滚动条数值显示在文本框中,开始时文本框无显示
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频4:Radio Button Check Box的基本用法—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2MzAxNDgw.html
——————————————————————————————————————————————————————————————————————
Radio Button Check Box 两个均为单选性的控件,选中它们则它们返回的value为max(默认为1),否则为min(默认为0)
这两个控件中属性中的value是指选中与否时返回的值(相当于容器,只能是max或者min的值,假如是max值,则初始化后默认显示max值)
如在前面修改过max或者min,必须相应在这里修改
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频5:使用Button Group绘制不同的正弦曲线—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2NDg5Nzky.html
——————————————————————————————————————————————————————————————————————
在Button Group中只能选中一个单选性的控件,选中某项控件,Button Group函数中对应的编程思路是
get Button Group中的NewSelect属性的Tag(Matlab自生成的SelectionChangeFcn注释块中有说明),通过switch匹配tag进行不同操作。
——————————————————————————————————————————————————————————————————————
MATLAB GUI教学视频6:下拉菜单Pop-Up Menu的基本用法—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM2OTUyNDEy.html
——————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————
MATLAB GUI教学视频7:ListBox的基本用法—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM3NTIxODIw.html
——————————————————————————————————————————————————————————————————————
以上的两个视频其实都是跟Button Group思路是一样的,通过控件返回的某项属性值来判断选中的项目
——————————————————————————————————————————————————————————————————————-
MATLAB GUI教学视频8:选择参数绘制曲线—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjM3NjU1ODMy.html
——————————————————————————————————————————————————————————————————————
在之前的基础上再增加绘图的功能,@知识点@是:
1——guihandles(figure1)可以得到一个结构体包含了figure1的所有控件的TAG 及其句柄,
2——比如说你想在一个控件中构造一个变量,并且希望能在其它控件中使用,这时候你可以通过下面的方法
handles.abc=*******(abc是你随便取的一个名字,其实就相当于每一个控件的TAG名,而这个变量会储存在handles结构之中)
guidata(hObject,handles) % 保存和更新handles结构体 [2]
—————————————————————————————————————————————————————————————————
MATLAB GUI教学视频9:菜单控件menu的基本用法—在线播放—优酷网,视频高清在线观看
http://v.youku.com/v_show/id_XMjQzMTUzODQ4.html
——————————————————————————————————————————————————————————————————————
这一节主要是在了解GUI的操作(Menu editor),@知识点@是
1——在实现弹出右击菜单功能时,需要先建立一个坐标系,然后在坐标系属性中的UIContxetMenus中选中你在ContxetMenus中创建的选项名
2——如果不先建立坐标系,也可以实现绘图的功能,相当于把figure中的图原样搬到当前GUI中,设置坐标系可以限定绘图区域,虽然绘图地方小了,但是还是会按比例输出图形
3——ContxetMenus中的功能:
选上:Check mark this item 效果如下
(照片来自http://blog.sina.cn/dpool/blog/s/blog_4b1fba1901018pbx.html)
选上Separator above this item 效果就像红色圈的那样
—————————————————————————————————————————————————————————————————
[1]MatLab GUI 数据传递 - lwjaiyjk3的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/yujiak/article/details/8944877
[2]guidata,handles的理解(转)
http://www.douban.com/note/152943531/
标签:
原文地址:http://www.cnblogs.com/yymn/p/4502629.html