- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3 用户界面控制对象(Uicontrol)
除了菜单外,控制对象是另一种实现用户与计算机交互的主要手段。用户界面控制对象(Uicontrol)是这样一类图形界面对象:用户用鼠标在控制对象上进行操作,单击鼠标时,将会使应用程序作出响应,并执行某些预定的功能子程序(Callback)。控制对象的结果是可见的,又是可以改变应用程序的初始状态。
4.3.1 控制对象的创建
和创建菜单对象类似,同样有两种方式用于创建控制对象:一是基于函数命令行的编程方式;二是基于GUI的方式。
(1)基于函数命令行的编程方式
使用控制对象函数uicontrol是创建控制对象的基本方法,函数的调用格式为:
h=uicontrol(PropertyName1,value1,PropertyName2,value2,…)
在当前图形窗口创建一个用户界面控制对象,并返回一个句柄值。
h=uicontrol(hfig,…)
在特定的图形窗口创建一个用户界面控制对象。其中,h为待制作的用户界面控制对象的句柄,hfig为其父对象句柄,当hfig缺省时,系统将在当前图形界面上添加用户界面控制对象。
(2)基于GUI的方式
如图4.2,打开GUI设计工具集窗口,窗口的左侧便是各种类型的控制对象按钮栏。单击要添加的控制对象按钮,在图形窗口中拖动鼠标“画出”所需要的位置和大小即可。
4.3.2 控制对象的类型和属性
MATLAB提供了11种控制对象,每一种控制对象对应于不同的特定目的。下面介绍这些控制对象的特征和实现的功能。
坐标轴(Axis): 设置坐标轴控制对象。
框架(Frame)——该组件为一封闭的、可见的、图形窗口区域。框架能使一用户图形界面中相关的控制组件能容易理解。框架没有相关的回调程序。只有控制组件能在框架中显示。框架不是透明的,因此用户定义的组件先后顺序决定了组件是否被框架遮住或可见。属性Stacking order决定了控制组件的显示顺序:第一个定义的组件最先显示,后面定义的控制组件则覆盖已经存在的组件。若用户要用一框架包围一些组件,则必须第一个定义框架。
校验框(check)——当单击检验框时,会执行一操作。该组件对于提供用户多个独立的选择是很有用的。要激活一校验框,只需用鼠标单击该组件即可,且选中的状态在组件上显示出来。
可编辑文本框(edit)——允许用户输入与修改文本文字的区域。当用户想把文字作为输入时,可使用该组件。若一可编辑文本框有焦点,则单击文本框的菜单栏不会执行任何操作。因此,在单击菜单条后,语句get(edit_handle,’String’)并没有返回当前编辑框中的内容。因为系统必须执行回调函数来改变属性 string的值,即使屏幕上显示的文字已经改变。
列表框(list)——显示一些项目的列表(用命令string设置),且允许用户选择一个或多个项目。属性Min与Max控制着选择的模式。属性Value显示可选择的项目与包含着字符串列表中项目的索引;对于选择了多个项目则用向量表示。在任何的能改变属性Value值的、鼠标松开的操作之后,系统MATLAB将马上执行列表框的回调函数。因此,用户有必要增加一“Done”按钮,用于推迟当要多次选择项目时的操作。在执行列表框回调函数Callback属性之前,列表框中项目的选择有单击或双击之分,对应于将图形窗口属性SelectionType设置为normal或open。
弹出菜单(popup)——当组件被按下时,打开且显示一选择列表(用命令string设置)。当没有打开时,该组件显示当前的选择项。该组件对于用户想给其他用户提供一系列的互斥的选择项,又不想占用太多的区域。
普通按钮(push)——当该组件被按下时,将执行一操作。要激活一按钮,只需在按钮上按下鼠标按钮。
单选按钮(radio)——该组件与校验框相类似,但它包含几个互斥的、而且相关的选项(例如在任意时刻,只能选择一个状态)。要激活某一单选按钮,只需在该组件上按下鼠标即可。被选中的组件同时显示出来。
滑块(slide)——该组件允许用户通过移动某一范围之内的滑块来输入一指定的数值。用户要移动一滑块,只需在滑块上按下鼠标不放,且在滑块方向上移动;或者是在滑槽内单击鼠标;或者是单击滑块条上的箭头。当松开鼠标后,滑块所在位置将与一数值对应。用户可以设置滑块的最大值、最小值与当前值等。
静态文本框(text)——显示文本行。静态文本经常作为其他控制对象标签,以提供其他用户相关信息,或者是显示一滑块的数值。其他用户不能交互地改变静态文本,因此对于静态文本,没有相关的回调函数。
触发按钮(toggle)——当该组件被单击且显示出它们的状态(on或者off)时,控制是否执行回调函数。
用法handle=uicontrol(parent)在父对象pa
文档评论(0)