Main Content

uitabgroup

创建包含选项卡式面板的容器

说明

tg = uitabgroup 在当前图窗中创建一个选项卡组并返回 TabGroup 对象。如果没有可用的图窗,MATLAB® 将调用 figure 函数创建一个图窗。选项卡组是选项卡的容器。它们允许您标识选定的选项卡,并检测用户何时选择了不同的选项卡。

tg = uitabgroup(Name,Value) 使用一个或多个名称-值参量指定选项卡组属性值。例如,您可以指定选项卡组的位置或选项卡标签的位置。

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

示例

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

示例

全部折叠

创建一个图窗,其中包含一个选项卡组和两个选项卡。

f = figure;
tabgp = uitabgroup(f,"Position",[.05 .05 .3 .8]);
tab1 = uitab(tabgp,"Title","Settings");
tab2 = uitab(tabgp,"Title","Options");

Tab group with two tabs in a figure window. The tabs have titles "Settings" and "Options". The "Settings" tab is selected.

获取当前选择的选项卡。

currenttab = tabgp.SelectedTab
currenttab = 

  Tab (Settings) with properties:

              Title: 'Settings'
    BackgroundColor: [0.9400 0.9400 0.9400]
           Position: [0.0119 0.0089 0.9702 0.9107]
              Units: 'normalized'

Scrollable 属性支持在选项卡内的组件超出边框时启用滚动。要使用滚动功能,图窗必须使用 uifigure 函数创建。App 设计工具使用此类型的图窗来创建 App。

创建包含一个选项卡的选项卡组。向该选项卡添加六个 UI 组件,前三个组件位于选项卡的上边框的外部。

fig = uifigure;
tg = uitabgroup(fig,"Position",[20 20 196 145]);
t = uitab(tg,"Title","Member Information");
ef1 = uieditfield(t,"Text","Position",[11 165 140 22],"Value","First Name");
ef2 = uieditfield(t,"Text","Position",[11 140 140 22],"Value","Last Name");
ef3 = uieditfield(t,"Text","Position",[11 115 140 22],"Value","Address");
dd = uidropdown(t,"Position",[11 90 140 22],"Items",{'Male','Female'});
cb = uicheckbox(t,"Position",[11 65 140 22],"Text","Member");
b = uibutton(t,"Position",[11 40 140 22],"Text","Send");

Tab group with one tab labeled "Member Information" in a UI figure window. Only the UI components at the bottom of the tab (the drop-down list, check box, and button) are visible.

通过将选项卡的 Scrollable 属性设置为 "on" 来启用滚动。默认情况下,滚动条显示在顶部。

t.Scrollable = "on";

Tab group with one tab labeled "Member Information" in a UI figure window. Only the components at the top (the edit fields, drop-down list, and check box) are visible. The tab has a vertical scroll bar.

在新脚本中,在 UI 图窗中创建一个具有两个选项卡的选项卡组。将 SelectionChangedFcn 属性指定为名为 displaySelection 的函数的句柄。当用户在选项卡组中的选项卡之间切换时,将执行此函数。

在脚本的底部,定义 displaySelection 函数来接受 MATLAB 传递给回调函数的两个输入参量:

  • src - 执行回调的组件

  • event - 关于触发回调的用户交互的信息

在回调函数中,编写代码以在命令行窗口中显示可见选项卡的标题。

fig = uifigure;
tg = uitabgroup(fig,"SelectionChangedFcn",@displaySelection);
t1 = uitab(tg,"Title","Data");
t2 = uitab(tg,"Title","Plots");

function displaySelection(src,event)
    t = event.NewValue;
    title = t.Title;
    disp("Viewing the " + title + " tab")
end

运行脚本并在选项卡之间切换以显示选项卡标题。

有关详细信息,请参阅Create Callbacks for Apps Created Programmatically

输入参数

全部折叠

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

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

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

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

示例: uitabgroup(TabLocation='bottom') 指定选项卡标签位于选项卡组的底部。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: uitabgroup("TabLocation","bottom") 指定选项卡标签位于选项卡组的底部。

注意

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

当前选择的选项卡,指定为 Tab 对象。使用此属性可确定选项卡组中当前选定的选项卡。您也可以使用此属性设置默认选项卡选项。SelectedTab 属性的默认值是您添加到 TabGroup 中的第一个 Tab

所选内容改变时的回调,指定为下列值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

当用户在选项卡组中选择不同的选项卡时,将执行此回调函数。

此回调函数可以访问有关用户与选项卡的交互的特定信息。MATLAB 将 SelectionChangedData 对象中的此信息作为第二个参量传递给回调函数。在 App 设计工具中,该参量名为 event。您可以使用圆点表示法查询对象属性。例如,event.NewValue 返回当前选择的选项卡。SelectionChangedData 对象不可用于指定为字符向量的回调函数。

下表列出了 SelectionChangedData 对象的属性。

属性

描述

OldValue

之前选择的 Tab[](如果未进行选择)

NewValue

当前选择的 Tab

Source

执行回调的组件

EventName

'SelectionChanged'

有关编写回调的详细信息,请参阅App 设计工具中的回调

选项卡标签位置,指定为 'top''bottom''left''right'。此属性指定选项卡标签相对于选项卡组的位置。

选项卡组的位置和大小,指定为 [left bottom width height] 形式的四元素向量。

此表介绍该向量中的每个元素。

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

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

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

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

单位值描述
'pixels'(基于 uifigure 的 App 中的默认值)

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

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

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

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

'normalized'(基于 figure 的 App 中的默认值)

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

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

这些单位基于图形根对象的默认 uicontrol 字体:

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

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

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

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

版本历史记录

在 R2014b 中推出

另请参阅

函数

属性