一、语法
handle
= uicontrol('PropertyName',PropertyValue,...)
handle
= uicontrol(parent,'PropertyName',PropertyValue,...)
handle
= uicontrol
uicontrol(uich)
二、函数描述
uicontrol用于创建uicontrol图形对象(用户界面控件)以实现
图形用户界面。
1.
handle
= uicontrol(parent,'PropertyName',PropertyValue,...)
创建用户界面控件对象,并设置其属性值。如果用户没有指定属性值,则MATLAB自动使用缺省属性值。uicontrol默认的Style属性值为pushbutton,parent属性为当前图形窗口(figure)。
用户可以在命令窗口中输入
set(uicontrol)命令来查看uicontrol的属性。
2.
handle
= uicontrol(parent,'PropertyName',PropertyValue,...)
在由parent所指定的对象中创建用户界面控件对象。parent可以是图形窗口的句柄,也可以是uipanel的句柄,还可以是uibuttongroup的句柄。
3.
handle
= uicontrol
在当前图形窗口(figure)中创建pushbutton对象。uicontrol函数设置对象的所有属性值为缺省值。
4.uicontrol(uich)
将焦点移动到由uich所指示的对象上。
【注意】
uicontrol函数可以创建如下用户界面控件:Check boxes(
复选框)、Editable text fields(可编辑
文本框)、Frames(
框架)、List boxes(列表框)、Pop-up menus(
弹出式菜单)、Push buttons(下压按钮)、Radio buttons(
单选按钮)、Sliders(滑动条)、Static text labels(静态文本标签)、Toggle buttons(双位按钮)。
编辑本段指定uicontrol的类型
要创建指定类型的用户界面控件对象,用户需指定uicontrol的Style属性值为下列值之一:
1.'checkbox'-创建列表框。
2.'edit'-创建可编辑文本框。如果Max-Min>1,则可编辑文本框允许多行输入。
《Simulink与信号处理》
4.'listbox'-列表控件用来显示一系列条目,允许用户选择一个或多个条目。如果Max-Min<=1,一次只允许选择一个条目;如果Max-Min>1,则一次允许选择多个条目。Value属性值包含所选条目的索引值。
Matlab中文论坛
5.'popupmenu'-创建弹出式菜单控件。弹出式菜单控件不像列表控件那样占用宝贵的界面窗口空间。
6.'pushbutton'-创建下压按钮控件。
7.'radiobutton'-创建单选按钮控件。
8.'slider'-创建滑动条。用户可以设置滑动条的最大值、最小值以及当前值。 Matlab中文论坛
9.'togglebutton'-创建双位按钮控件。
10.'text'-创建静态文本控件。静态文本控件常用来标识其它控件。
应用举例
例1.
% 下面这条指令创建一个按钮,当按下该按钮时,清除当前坐标轴中的图形对象 h = uicontrol('Style', 'pushbutton', 'String', 'Clear',...
'Position', [20 150 100 70], 'Callback', 'cla');
% 下面这条指令使刚才创建的按钮得到焦点。 《Simulink与信号处理》
uicontrol(h)
例2. 创建一个背景色可以由下拉窗选择并改变的uicontrol
窗体对象(figure),当然使用时还需要一个下拉窗相应的事件回调函数(callback function)来配合,这个函数保存在与该对象同名称的m文件。 《Simulink与信号处理》
hpop = uicontrol('Style', 'popup',...
'String', 'hsv|hot|cool|gray',...
'Position', [20 320 100 50],...
'Callback', '
setmap');
上面创建的下拉窗里包含了四种可选的颜色选项,分别为彩色(hsv)、暖色调(hot)、冷色调(cool)和灰度(gray),这四个选项间用字符'|'来分割。为了实现选中下拉窗中相应选项后,
窗体(figure)的背景做相应的改变,可以在下拉窗(pop-up menu)的回调(callback)函数中编写下列代码:
val = get(hpop,'Value'); % 获取pop-up menu的Value 属性值 《Simulink与信号处理》
if val == 1
colormap(hsv) % 如果选中第一项,则背景绘制成hsv风格
elseif val == 2
colormap(hot)
elseif val == 3
colormap(cool) 《Simulink与信号处理》
elseif val == 4
colormap(gray)
end
val得到的是下拉窗中选项对应的序号(这里有四项,第一项 hsv对应的序号值为1,hot对应的序号值为2……依此类推,注意matlab中下标都是从1开始的。),
setmap 函数用于按选项内容改变对应背景色