uicontrol
创建用户界面控件
语法
说明
c = uicontrol(
创建一个用户界面控件,其中包含使用一个或多个名称-值对组参数指定的属性值。例如,Name,Value
)'Style','checkbox'
会创建一个复选框。
c = uicontrol(
在指定的父容器中创建默认用户界面控件,而不是默认为在当前图窗中。parent
)
c = uicontrol(
指定用户界面控件的父容器和一个或多个名称-值对组参数。parent
,Name,Value
)
示例
创建单选按钮
通过将 'Style'
名称-值对组参数指定为 'radiobutton'
来创建单选按钮。通过指定 'String'
名称-值对组参数的值为单选按钮添加标签。
c = uicontrol('Style','radiobutton','String','Option 1');
在面板内创建滑块
创建一个图窗,其中有一个面板。然后,通过调用 uicontrol
函数在面板中创建滑块,面板指定为父容器,'Style'
指定为 'slider'
。接下来,将滑块 Value
属性设置为 0.5
。
f = figure; p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]); c = uicontrol(p,'Style','slider'); c.Value = 0.5;
编写响应以下操作的代码:选择弹出菜单
创建弹出式菜单,点击它时会显示选项列表。使用回调函数确定用户选择的列表项,并在 MATLAB 命令行窗口中显示选择。
将此代码保存为 mytemps.m
。以下代码创建一个图窗窗口,其中包含具有三个列表项的弹出式菜单。然后,它使用回调函数查询弹出式菜单的 Value
和 String
属性,并在命令行中显示所选项。
function mytemps f = figure; c = uicontrol(f,'Style','popupmenu'); c.Position = [20 75 60 20]; c.String = {'Celsius','Kelvin','Fahrenheit'}; c.Callback = @selection; function selection(src,event) val = c.Value; str = c.String; str{val}; disp(['Selection: ' str{val}]); end end
运行程序以生成图窗及其内容。
mytemps
选择其他菜单项以更改选择。例如,如果从弹出式菜单中选择“Kelvin”,则命令行将显示文本 Selection: Kelvin
。
编写响应以下操作的代码:点击按钮
创建普通按钮,点击它时会绘制数据。
将此代码保存为 pushbuttonPlot.m
。以下代码创建一个包含坐标区和普通按钮的图窗窗口。每次点击该按钮时,回调函数都会执行并绘制五个正态分布随机数的条形图。
function pushbuttonPlot f = figure; ax = axes(f); ax.Units = 'pixels'; ax.Position = [75 75 325 280] c = uicontrol; c.String = 'Plot Data'; c.Callback = @plotButtonPushed; function plotButtonPushed(src,event) bar(randn(1,5)); end end
运行 pushbuttonPlot
,然后点击普通按钮。MATLAB 将绘制数据。
使可编辑的文本字段具有焦点
创建一个可编辑的文本字段,并通过将其函数句柄传递给 uicontrol
函数使其具有焦点。此操作会使光标在可编辑文本字段中变为活动状态并闪烁。
c = uicontrol('Style','edit'); uicontrol(c);
输入参数
parent
— 父对象
当前图窗 (默认) | Figure
对象 | Panel
对象 | ButtonGroup
对象 | Tab
对象
父对象,指定为使用 figure
函数创建的 Figure
对象或其子容器之一:Panel
、ButtonGroup
或 Tab
对象。在创建用户界面控件时,使用此参数指定父容器。
c
— 用户界面控制对象
UIControl
对象
用户界面控件对象,指定为 UIControl
对象。使用此参数指定要具有焦点的一个以前定义的用户界面控件。
示例: uicontrol(c)
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: uicontrol('Style','checkbox')
将复选框指定为用户界面控件的样式。
注意
此处所列的属性只是一部分。有关完整列表,请参阅 UIControl 属性。
Style
— UIControl
对象的样式
'pushbutton'
(默认) | 'togglebutton'
| 'checkbox'
| 'radiobutton'
| ...
UIControl
对象的样式,指定为下表中的值之一。
样式属性值 | 示例 | 描述 |
---|---|---|
'pushbutton' | 释放鼠标按键前显示为按下状态的按钮。 | |
'togglebutton' |
| 按钮,它在外观上类似于普通按钮,但在视觉上有状态指示:选中或清除。 |
'checkbox' |
| 可以单独选择或清除的选项。 |
'radiobutton' |
| 作为组的一部分的选项,选中它时会清除组中的其他选项。 要为一组单选按钮实现互斥行为,请将它们置于 |
'edit' | 可编辑的文本字段。 要启用多行文本,请设置 | |
'text' | 静态文本字段。通常使用静态文本行为其他用户界面控件添加标签,向用户提供信息,或指示与滑块相关联的值。 要使静态文本响应鼠标点击,请将 | |
'slider' | 用户沿水平或垂直滑动条移动的“滑块”按钮。按钮沿条形的位置表示指定范围内的值。 | |
'listbox' | 用户可从中选择一项或多项的项列表。与弹出式菜单不同,点击列表框时不会展开。 要启用多项选择,请设置 | |
'popupmenu' | 弹出式菜单(也称为下拉菜单),展开以显示选项列表。关闭时,弹出式菜单指示出当前选项。如果要提供许多互斥选项,请使用弹出式菜单。 | |
'frame' | 不推荐使用 'frame' 选项。使用 uipanel 或 uibuttongroup ,而不要使用框架。在包含框架的 UI 中,GUIDE 继续支持其中的框架,但是在 GUIDE 布局编辑器组件面板中则不显示框架组件。 |
String
— 要显示的文本
字符向量 | 字符向量元胞数组 | 字符串数组 | 分类数组 | ...
要显示的文本,指定为字符向量、字符向量元胞数组、字符串数组、分类数组或以管道分隔的行向量。Style
属性指示您可以使用的数组格式。
样式属性 | 支持的数组格式 | 示例 |
---|---|---|
'pushbutton' | 字符向量 字符向量元胞数组 字符串数组 分类数组 |
|
'togglebutton' | ||
'checkbox' | ||
'radiobutton' | ||
'edit' | ||
'text' | ||
'listbox' | 字符向量 字符向量元胞数组 字符串数组 分类数组 管道分隔的行向量 |
|
'popupmenu' |
注意
如果为普通按钮、切换按钮、复选框或单选按钮指定元胞数组或分类数组,则 MATLAB 仅显示数组中的第一个元素。
Position
— 位置和大小
[20 20 60 20]
(默认) | [left bottom width height]
位置和大小,指定为 [left bottom width height]
形式的四元素向量。默认测量单位为像素。下表介绍向量中的每个元素。
元素 | 描述 |
---|---|
left | 父容器的内部左边缘与用户界面控件的外部左边缘之间的距离。 |
bottom | 父容器的内部下边缘与用户界面控件的外部下边缘之间的距离。 |
width | 用户界面控件的左右外侧边缘之间的距离。 |
height | 用户界面控件的上下外侧边缘之间的距离。 |
Position
值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括标题所占的区域。如果父容器是一个图窗,可绘制区域还不包括菜单栏和工具栏。
Value
— 当前值
数字
当前值,指定为数字。用于查询或修改某些用户界面控件的状态。下表说明与特定 UIControl
样式相关的 Value
属性。
样式属性 | 值属性的描述 |
---|---|
'togglebutton' |
|
'checkbox' |
|
'radiobutton' |
|
'slider' | 与滑动条上的滑块位置关联的值。 |
'listbox' | 与列表框中的选定项对应的数组索引。值 1 (默认值)对应于列表中的第一个项。选择多个项时,Value 属性将行索引存储为一个向量。 |
'popupmenu' | 与弹出式菜单中的选定项对应的数组索引。值 1 (默认值)对应于弹出式菜单中的第一项。 |
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)