- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[matlab用户图形界面设计GUI
第八章 Matlab图形用户界面设计 图形用户界面(Graphical User Interface,GUI)是指由窗口、菜单、对话框等各种图形对象组成的用户界面。 Matlab作为功能强大的科学计算软件,同样也提供了图形用户界面设计功能。在Matlab中,基本的图形用户界面对象包含3类:用户界面控件对象(uicontrol),下拉式菜单对象(uimenu),和快捷菜单对象(uicontextmenu)。根据这些图形对象,可以设计出界面友好、操作方便的图形用户界面。 一、菜单设计 Matlab用户菜单对象是图形窗口的子对象,所以菜单设计总是在某一个图形窗口中进行。Matlab的图形窗口有自己的菜单栏,为了建立用户自己的菜单系统,需要先将图形窗口的MenuBar属性设置为none,以取消图形窗口的默认菜单,然后再建立自己的菜单。 取消默认菜单:figure(menubar,none) 1.建立用户菜单 用户菜单通常包括一级菜单(菜单条)和二级菜单,有时还需要继续建立下级菜单如三级菜单等。而每一级菜单又包括若干菜单项。 建立用户菜单的函数为:uimenu,根据不同的调用格式可以创建一级菜单项和子菜单项。 建立一级菜单的调用格式: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 建立子菜单项的调用格式: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…) 区别:建立一级菜单项时,要给出图形窗口的句柄值。如果省略了这个句柄值,Matlab就在当前图形窗口中建立这个菜单项。如果没有图形窗口,则会自动打开一个图形窗口并将该菜单项作为它的菜单对象。而在建立子菜单项时,必须要指定一级菜单项对应的句柄值。如: hm=uimenu(gcf,label,File); hm1=uimenu(hm,label,Save); hm2=uimenu(hm,label,Save As); 将在当前图形窗口中建立名为File的菜单,其中Label属性值File就是菜单的名字,hm是File菜单项的句柄值,供定义该菜单项的子菜单之用。后两条命令将在File菜单下建立Save和Save As两个子菜单。使用的是File菜单项的句柄值。 2.菜单对象的常用属性 菜单对象具有Children,Parent,Tag ,Data, Visible等公共属性外还有些常用的特殊属性: (1)Label属性:该属性的取值为字符串,用于定义菜单项的名字。可以在字符串中加字符,这时在该菜单项的名字上,跟在字符后的字符有一条下划线,本身不出现在菜单中。这种带下划线的菜单,可以用ALT+该字符键激活相应的菜单项。 (2)Accelerator属性,该属性的取值可以是任何字母,用于定义菜单项的快捷键。如取字母W,表示定义快捷键为:Ctrl+W (3)Callback属性,该属性的取值为字符串,可以是某个M文件的文件名或一组Matlab命令。在该菜单被选中后Matlab将自动的调用此回调函数来作出对应的响应。如果没有设置一个合适的回调函数,则此菜单项也将失去其应有的意义。 (4)Checked属性,该属性的取值是on或off(默认),该属性为菜单项定义一个指示标记,可以用这个属性来表明菜单项是否被选中。 (5)Enable属性,取值为on(默认)或off,这个属性控制菜单项的可选择性。如果是off,则此时不能使用该菜单,且菜单呈灰色状态。 (6)position属性,取值为数值,它定义一级菜单项在菜单条上的相对位置或子菜单项在菜单组内的相对位置。 (7)seperator属性,取值为on或off(默认),如果为on,则在该菜单项上方添加一条分割线,可以用分割线将各菜单项按功能分开。 例: figure(menubar,none) h1=uimenu(gcf,label,plot) h21=uimenu(h1,label,sin,callback,[cla;,plot(sin(0:0.01:20));]) h22=uimenu(h1,label,cos,callback,[cla;,plot(cos(0:0.01:20));]) h23=uimenu(h1,label,pol,callback,[cla;,polar(0:20:360,cos(0:20:360));]) 例:建立“图形演示系统”菜单。菜单条上含有3个菜单项,Plot,Option,和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别画正弦和余弦曲线。Option中可以提供相关的选项,Quit控制是否退出系统。 Screen=get(0,screensize); W=Screen(3);H=Screen(4);
文档评论(0)