图片做网站连接,wordpress插件升级,微信商城在哪里找,wordpress多个页面在本节教程中#xff0c;我们
将讨论什么handles结构体#xff0c;以及
如何使用set/get命令。如果您压根没有接触过GUI编程#xff0c;建议您先看下这篇文章
http://www.matlabsky.com/thread-5217-1-1.html#xff0c;另外一些
MATLAB基础知识也是需要的#xff01;…在本节教程中我们
将讨论什么handles结构体以及
如何使用set/get命令。如果您压根没有接触过GUI编程建议您先看下这篇文章
http://www.matlabsky.com/thread-5217-1-1.html另外一些
MATLAB基础知识也是需要的 当面打开一个GUI程序的*.m文件时你肯定会注意到基本所有的function中都有handles这个参数那个这个handles到底是什么东西呢下面我们就揭开它什么的面纱 其实
handles结构体是一个
以GUI中所有控件的Tag属性为字段的结构体每个字段的取值就是对应控件的
句柄 哦
什么是句柄呀 呵呵刚开始听句柄这个名词的时候的确有些不习惯简单的说句柄
类似于C语言中指针它是某个对象的唯一标识符通过句柄就可以找到你需要的对象了图形对象的句柄一个
double型数据。 比如说一个GUI中有三个控件对应的Tag属性和句柄分别为tag1和h1tag2和h2tag3和h3那么此时handles结构体则具有如下形式 handles.tag1h1 handles.tag2h2 handles.tag3h3 换句话说handles.tag1就是指向Tag属性值为tag1的控件handles.tag1(句柄)就是该控件的唯一标识符 当然我们可以
手工为handles结构体添加新的字段不过需要使用
guidata(hObject,handles)对更新后的结构体进行保存哦这些都是后话了等我们遇到再说吧 下面正式开始本节教程的主要内容 1、首先下载现在本GUI程序 GUI_handles.zip(3.57 KB, 下载次数: 2900)
解压到Matlab当前目录或搜索路径下 2、在Command Window中输入guide然后回车打开“GUIDE Quick Start”对话框 3、选择“Open Existing GUI”点击“Browser”选择刚才解压的handles_tutorial.fig文件 4、打开的GUI界面如下图所示 5、handles结构体保存了窗体中所有PushbuttonRadiobuttonStaticText以及Figure 自身等控件的句柄。 如何读取这些句柄呢这里主要有三种方法。点击GUIDE工具栏的
按钮此时自动打开对应的M文件。在76行行号右边点击下为
程序设置一个断点。 或者在76行后面添加一个keyboard命令如下所示 还有就是使用dbstop命令由于相对比较繁琐感兴趣的网友请自己查看Matlab帮助。 三种方法都是为了达到通过一个目的就是程
序执行到76行时暂停Matlab并自动切换到断点所在函数的workspace此时我们直接在命令行查看某些数据(这也是我们调试程序重要方法)。 6、本程序就使用第二种方法也就是在76行后添加keyboard命令 7、保存修改后的程序运行GUI然后点击Push Button按钮 8、此时Command Window会自动弹出此时命令行提示符改为“K”它表示程序当前处于keyboard模式及如下所示 9、查看断点所在工作空间的变量在Command Window中键入whos该函数将列出Current Workspace中的所有变量 10、好下面我们仔细看看下handles结构体的真面目在命令行键入handles此时Matlab会给出handles结构体的详细信息。你会发现GUI中所有控件一个都没有落下。 其中“:”之前的控件的Tag之后的是控件句柄意思就是说handles结构体text1字段保存控件text1的句柄3.0095。 11、如果你想进一步获取radiobutton1的属性此时需要使用get()函数get是用来获取控件属性的 get(handles.radiobutton1) % 如果没有指定属性默认返回所有属性 复制代码 12、假如说我们只对radiobutton1的string属性兴趣的话则可以使用 get(handles.radiobutton1,string) % 获取指定属性 复制代码 13、如果想修改radiobutton1的string属性则需要使用set()函数 set(handles.radiobutton1,string,hello world) % set(句柄,属性名,属性值) 复制代码 看看原来radiobutton1的显示字符串是不是立即变为“hello world”了 14、同理我们可以修改GUI控件的其它属性 set(handles.radiobutton1,String, The button is changed!) set(handles.radiobutton1,BackGroundColor,[1,.3,1]) % 背景颜色 复制代码 运行结果如下图所示 15、在Command Window中输入return语句此时程序会交给Matlab不再是刚才的keyboard模式了 收藏49
分享5
鲜花25