来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_srchtitle
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
uicontrol
说明
c = uicontrol
在当前图窗中创建一个普通按钮(默认用户界面控件),并返回 UIControl
对象。如果图窗不存在,则 MATLAB® 调用 figure
函数以创建一个图窗。
示例
c = uicontrol(Name,Value
)
创建一个用户界面控件,其中包含使用一个或多个名称-值对组参数指定的属性值。例如,'Style','checkbox'
会创建一个复选框。
c = uicontrol(parent
)
在指定的父容器中创建默认用户界面控件,而不是默认为在当前图窗中。
示例
uicontrol(c
)
将焦点放在一个以前定义的用户界面控件上。
示例
全部折叠
创建单选按钮
通过将 'Style'
名称-值对组参数指定为 'radiobutton'
来创建单选按钮。通过指定 'String'
名称-值对组参数的值为单选按钮添加标签。
在面板内创建滑块
创建一个图窗,其中有一个面板。然后,通过调用 uicontrol
函数在面板中创建滑块,面板指定为父容器,'Style'
指定为 'slider'
。接下来,将滑块 Value
属性设置为 0.5
。
选择弹出式菜单时的代码响应
创建弹出式菜单,点击它时会显示选项列表。使用回调函数确定用户选择的列表项,并在 MATLAB 命令行窗口中显示选择。
将此代码保存为 mytemps.m
。以下代码创建一个图窗窗口,其中包含具有三个列表项的弹出式菜单。然后,它使用回调函数查询弹出式菜单的 Value
和 String
属性,并在命令行中显示所选项。
运行程序以生成图窗及其内容。
选择其他菜单项以更改选择。例如,如果从弹出式菜单中选择“Kelvin”,则命令行将显示文本 Selection: Kelvin
。
编写响应以下操作的代码:点击按钮
创建普通按钮,点击它时会绘制数据。
将此代码保存为 pushbuttonPlot.m
。以下代码创建一个包含坐标区和普通按钮的图窗窗口。每次点击该按钮时,回调函数都会执行并绘制五个正态分布随机数的条形图。
运行 pushbuttonPlot
,然后点击普通按钮。MATLAB 将绘制数据。
使可编辑的文本字段具有焦点
创建一个可编辑的文本字段,并通过将其函数句柄传递给 uicontrol
函数使其具有焦点。此操作会使光标在可编辑文本字段中变为活动状态并闪烁。
输入参数
全部折叠
parent
- 父对象
当前图窗 (默认) | Figure
对象 | Panel
对象 | ButtonGroup
对象 | Tab
对象
父对象,指定为使用 figure
函数创建的 Figure
对象或其子容器之一:Panel
、ButtonGroup
或 Tab
对象。在创建用户界面控件时,使用此参数指定父容器。
c
- 用户界面控制对象
UIControl
对象
用户界面控件对象,指定为 UIControl
对象。使用此参数指定要具有焦点的一个以前定义的用户界面控件。
示例: uicontrol(c)
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value
对组参数。Name
为参数名称,Value
为对应的值。Name
必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN
所示。
示例: uicontrol('Style','checkbox')
将复选框指定为用户界面控件的样式。
'Style'
- UIControl
对象的样式
'pushbutton'
(默认) | 'togglebutton'
| 'checkbox'
| 'radiobutton'
| ...
UIControl
对象的样式,指定为下表中的值之一。
样式属性值 | 示例 | 说明 |
'pushbutton' |
 |
释放鼠标按键前显示为按下状态的按钮。 |
'togglebutton' |


|
按钮,它在外观上类似于普通按钮,但在视觉上有状态指示:选中或清除。 |
'checkbox' |


|
可以单独选择或清除的选项。 |
'radiobutton' |


|
作为组的一部分的选项,选中它时会清除组中的其他选项。
要为一组单选按钮实现互斥行为,请将它们置于 uibuttongroup 中。
|
'edit' |

|
可编辑的文本字段。
要启用多行文本,请设置 Max 和 Min 属性以满足 Max-Min > 1 。
|
'text' |

|
静态文本字段。通常使用静态文本行为其他用户界面控件添加标签,向用户提供信息,或指示与滑块相关联的值。
要使静态文本响应鼠标点击,请将 Enable 属性设置为 'Inactive' ,并使用 ButtonDownFcn 回调编写响应代码。
|
'slider' |

|
用户沿水平或垂直滑动条移动的“滑块”按钮。按钮沿条形的位置表示指定范围内的值。
|
'listbox' |

|
用户可从中选择一项或多项的项列表。与弹出式菜单不同,点击列表框时不会展开。
要启用多项选择,请设置 Max 和 Min 属性以满足 Max-Min > 1 。要在可以从一个列表框中选择多项时延迟操作,您可以将完成普通按钮与该列表框相关联。然后,使用该按钮的回调来计算列表框 Value 属性。
|
'popupmenu' |

|
弹出式菜单(也称为下拉菜单),展开以显示选项列表。关闭时,弹出式菜单指示出当前选项。如果要提供许多互斥选项,请使用弹出式菜单。
|
'frame' |
不推荐使用 'frame' 选项。使用 uipanel 或 uibuttongroup ,而不要使用框架。在包含框架的 UI 中,GUIDE 继续支持其中的框架,但是在 GUIDE 布局编辑器组件面板中则不显示框架组件。 |
'String'
- 要显示的文本
字符向量 | 字符向量元胞数组 | 字符串数组 | 分类数组 | ...
要显示的文本,指定为字符向量、字符向量元胞数组、字符串数组、分类数组或以管道分隔的行向量。Style
属性指示您可以使用的数组格式。
样式属性 | 支持的数组格式 | 示例 |
'pushbutton' |
字符向量
字符向量元胞数组
字符串数组
分类数组
|
'Option 1'
{'Option 1'}
"Option 1"
categorical({'Option 1'})
|
'togglebutton' |
'checkbox' |
'radiobutton' |
'edit' |
'text' |
'listbox' |
字符向量
字符向量元胞数组
字符串数组
分类数组
管道分隔的行向量
|
'One'
{'One','Two','Three'}
["One" "Two" "Three"]
categorical({'one','two','three'})
'One|Two|Three'
|
'popupmenu' |
注意
如果为普通按钮、切换按钮、复选框或单选按钮指定元胞数组或分类数组,则 MATLAB 仅显示数组中的第一个元素。
'Position'
- 位置和大小
[20 20 60 20]
(默认) | [left bottom width height]
位置和大小,指定为 [left bottom width height]
形式的四元素向量。默认测量单位为像素。下表介绍向量中的每个元素。
元素 | 说明 |
left |
父容器的内部左边缘与用户界面控件的外部左边缘之间的距离。 |
bottom |
父容器的内部下边缘与用户界面控件的外部下边缘之间的距离。 |
width |
用户界面控件的左右外侧边缘之间的距离。 |
height |
用户界面控件的上下外侧边缘之间的距离。 |
Position
值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括标题所占的区域。如果父容器是一个图窗,可绘制区域还不包括菜单栏和工具栏。
'Value'
- 当前值
数字
当前值,指定为数字。用于查询或修改某些用户界面控件的状态。下表说明与特定 UIControl
样式相关的 Value
属性。
样式属性 | 值属性的描述 |
'togglebutton' |
-
已选择:Max 属性的值。
-
已清除:Min 属性的值。
|
'checkbox' |
-
已选择:Max 属性的值。
-
已清除:Min 属性的值。
|
'radiobutton' |
-
已选择:Max 属性的值。
-
已清除:Min 属性的值。
|
'slider' |
与滑动条上的滑块位置关联的值。 |
'listbox' |
与列表框中的选定项对应的数组索引。值 1 (默认值)对应于列表中的第一个项。选择多个项时,Value 属性将行索引存储为一个向量。 |
'popupmenu' |
与弹出式菜单中的选定项对应的数组索引。值 1 (默认值)对应于弹出式菜单中的第一项。 |