Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

uipanel

创建面板容器

说明

p = uipanel 在当前图窗中创建一个面板并返回 Panel 对象。如果没有可用的图窗,MATLAB® 将调用 figure 函数创建一个图窗。

p = uipanel(Name,Value) 使用一个或多个名称-值对组参数指定面板属性值。

p = uipanel(parent) 在指定的父容器中创建面板。父容器可以是使用 figureuifigure 函数创建的图窗,也可以是子容器(如选项卡或网格布局)。uipanel 的属性值略有不同,具体取决于该 App 是使用 figure 还是 uifigure 函数创建的。有关详细信息,请参阅名称-值对组参数

示例

p = uipanel(parent,Name,Value) 指定父容器和一个或多个属性值。

示例

全部折叠

创建一个包含两个面板和一个普通按钮的图窗。这些面板使用默认 Units 属性值 'normalized'uicontrol 的默认单位是 'pixels'

f = figure;
p = uipanel('Title','Main Panel','FontSize',12,...
             'BackgroundColor','white',...
             'Position',[.25 .1 .67 .67]);
sp = uipanel('Parent',p,'Title','Subpanel','FontSize',12,...
              'Position',[.4 .1 .5 .5]);
c = uicontrol('Parent',sp,'String','Push here',...
              'Position',[18 18 72 36]);

App with two panels and a button. The main panel contains a gray subpanel nested inside it. The button sits inside the subpanel.

Scrollable 属性支持在面板中的组件超出边框时启用滚动。仅当面板位于使用 uifigure 函数创建的图窗中时,才可以滚动。App 设计工具使用此类型的图窗来创建 App。

在图窗中创建一个面板。向该面板添加六个 UI 组件,前三个组件位于面板的上边框的外部。

fig = uifigure;
p = uipanel(fig,'Position',[20 20 196 135]);
ef1 = uieditfield(p,'Text','Position',[11 165 140 22],'Value','First Name');
ef2 = uieditfield(p,'Text','Position',[11 140 140 22],'Value','Last Name');
ef3 = uieditfield(p,'Text','Position',[11 115 140 22],'Value','Address');
dd = uidropdown(p,'Position',[11 90 140 22],'Items',{'Male','Female'});
cb = uicheckbox(p,'Position',[11 65 140 22],'Text','Member');
btn = uibutton(p,'Position',[11 40 140 22],'Text','Send');

An app that contains a panel with many UI components. Two edit fields and half of the third are not visible.

通过将面板的 Scrollable 属性设置为 'on' 来启用滚动。默认情况下,滚动框显示在顶部。

p.Scrollable = 'on';

An app that contains a scrollable panel. The panel has a scroll bar on its right. The bar is scrolled to the top, and all three edit fields are visible in the panel.

输入参数

全部折叠

父容器,指定为使用 figureuifigure 函数创建的图窗或子容器:

  • 面板、选项卡和按钮组可以是任一类型的图窗中的容器。

  • 网格布局是只能位于使用 uifigure 函数创建的图窗中的容器。

名称-值参数

示例: uipanel('Title','Options') 指定面板标题为 Options

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在单引号 (' ') 中。您可以指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN

注意

此处所列的属性只是可用属性中的一部分。有关完整列表,请参阅 Panel 属性

标题,指定为字符向量、字符串标量或分类数组。如果将此属性指定为分类数组,MATLAB 将仅显示数组中的第一个元素。

MATLAB 不会将竖线 ('|') 字符解释为换行符,它在标题中显示为竖线。

如果要指定 Unicode® 字符,则将 Unicode 十进制码传递到 char 函数。例如,['Multiples of ' char(960)] 显示为 Multiples of π。

背景颜色,指定为 RGB 三元组、十六进制颜色代码或下表中列出的颜色选项之一。

RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

面板的位置和大小,包括边框和标题,指定为 [left bottom width height] 形式的四元素向量。此表介绍该向量中的每个元素。

元素描述
left父容器的内部左边缘与面板的外部左边缘之间的距离
bottom父容器的内部下边缘与面板的外部下边缘之间的距离
width面板的左右外部边缘之间的距离
height面板的上下外部边缘之间的距离

所有测量值都采用 Units 属性指定的单位。

Position 值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括装饰元素(如菜单栏或标题)所占的区域。

注意

如果网格布局管理器是该面板的父级,则 Position 属性的值不会立即更新。要使用 Position 值相对于面板大小调整面板子级的大小,请使用 SizeChangedFcn 回调。

测量单位,指定为下表中的值之一。

单位值描述
'pixels'(默认值)

以像素为单位的距离不依赖 Windows®Macintosh 系统上的系统分辨率:

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • Macintosh 系统上,一个像素是 1/72 英寸。

在 Linux® 系统上,一个像素的大小由系统分辨率确定。

'normalized'

这些单位依据父容器进行归一化。容器的左下角映射到 (0,0),右上角映射到 (1,1)

'inches'英寸。
'centimeters'厘米。
'points'磅。1 磅等于 1/72 英寸。

推荐值为 'pixels',因为大多数 MATLAB App 构建功能都以像素为单位测量距离。您可以创建一个面板,该面板根据父容器的大小重新缩放,方法是将使用 uigridlayout 函数创建的一个网格布局管理器作为该面板的父级。有关详细信息,请参阅Lay Out Apps Programmatically

基于 figure 的 App

对于在使用 figure 函数创建的 App 中的面板,Units 的默认值为 'normalized'

此外,您可以将 Units 指定为 'characters'。字符单元基于图形根对象的默认 uicontrol 字体:

  • 字符宽度 = 字母 x 的宽度。

  • 字符高度 = 两个文本行的基线之间的距离。

要访问默认的 uicontrol 字体,请使用 get(groot,'defaultuicontrolFontName')set(groot,'defaultuicontrolFontName')

提示

如果将面板对象的 Visible 属性设置为 'off',该对象包含的所有子对象(按钮、按钮组、坐标区等)以及父面板都将不可见。但是,每个子对象的 Visible 属性值不受影响。

版本历史记录

在 R2006a 之前推出

另请参阅

属性