使用uicontrol函数创建GUI,仅用于figure函数生成的对象作为父容器的情况;图窗可以指定,也可以由系统自动生成。
用户界面控件是程序使用者与App交互的界面控件对象的简称。使用uicontrol函数可以创建一个用户界面控件,并可以在界面显示它之前设置任何想设置的属性。通过更改属性值,可以修改用户界面控件的外观和行为。可以使用圆点表示法引用特定的对象和属性,进行修改和设置,例如,生成按钮的代码如下。
f=figure; b=uicontrol(f,'Style','pushbutton'); b.Position=[100 100 50 20];
(1)c=uicontrol:在当前图窗创建一个普通按钮,并返回uicontrol对象属性。如果图窗不存在,则MATLAB将调用figure函数创建一个图窗。
(2)c=uicontrol(Name,Value):创建一个用户界面控件,其中包含使用一个或多个名值参数对指定的属性值。例如,'Style','checkbox'表示创建一个复选框。
(3)c=uicontrol(parent):在指定的父容器中创建默认用户界面控件,而不是在当前图窗中创建。
(4)c=uicontrol(parent,Name,Value):指定用户界面控件的父容器和一个或多个名值参数对。
(5)uicontrol(c):将焦点放在一个以前定义的用户界面控件上。
(1)parent:父容器,指定为使用figure函数创建的图形对象或其子容器(Panel、ButtonGroup或Tab对象)之一。在创建用户界面控件时,使用此参数指定父容器。
(2)c:用户界面控件对象,指定为uicontrol对象。使用此参数指定具有焦点的、一个以前定义的用户界面控件。
示例:uicontrol(c)。
(3)Name,Value:指定可选的、以逗号分隔的名值参数对。将可选的参数对指定为如Name1,Value1,Name2,Value2,…,Name N ,Value N 或者Name1=Value1,Name2=Value2,…,Name N = Value N 的形式,其中Name是参数名称,Value是对应的值。名值参数对必须出现在其他参数之后,但各名值参数对出现的顺序无关紧要。
示例:uicontrol('Style','checkbox')表示将用户界面控件的样式指定为复选框。
uicontrol对象的属性用于控制用户界面控件的外观和行为。
uicontrol对象的主要属性见表3-1~表3-14。
表3-1 Style属性
表3-2 Value属性
表3-3 Max属性
表3-4 Min属性
表3-5 String属性
String为要显示的文本,指定为字符向量、字符向量元胞数组、字符串数组、分类数组或以竖线分隔的行向量。Style属性指定可以使用的数组格式。
表3-6 SliderStep和ListboxTop属性
表3-7 文本和样式
表3-8 字体
表3-9 交互性
表3-10 位置
表3-11 回调
表3-12 回调执行控制
表3-13 父级/子级
表3-14 标识符
从MATLAB R2020a开始,不推荐使用UIContextMenu属性将上下文菜单分配给图形对象或控件,可改用ContextMenu属性。在MATLAB中,UIContextMenu和ContextMenu属性值是相同的。
目前没有停止支持UIContextMenu属性的计划,但是,UIContextMenu属性将不再出现在对图形对象或控件调用get函数时所返回的列表中。
3.2节到3.10节通过9个示例演示了采用代码编写uicontrol不同控件并进行各自属性设置,3.11节到3.20节通过10个示例演示了回调编写和常见问题解决。