uitabgroup
创建包含选项卡式面板的容器
语法
说明
tg = uitabgroup
在当前图窗中创建一个选项卡组并返回 TabGroup
对象。如果没有可用的图窗,MATLAB® 将调用 figure
函数创建一个图窗。选项卡组是选项卡的容器。它们允许您标识选定的选项卡,并检测用户何时选择了不同的选项卡。
tg = uitabgroup(
使用一个或多个名称-值参数指定选项卡组属性值。例如,您可以指定选项卡组的位置或选项卡标签的位置。Name,Value
)
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");
获取当前选择的选项卡。
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");
通过将选项卡的 Scrollable
属性设置为 "on"
来启用滚动。默认情况下,滚动条显示在顶部。
t.Scrollable = "on";
编写选项卡切换响应程序
在新脚本中,在 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。
输入参数
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
示例: uitabgroup(TabLocation='bottom')
指定选项卡标签位于选项卡组的底部。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: uitabgroup("TabLocation","bottom")
指定选项卡标签位于选项卡组的底部。
注意
此处所列的属性只是可用属性中的一部分。有关完整列表,请参阅 TabGroup 属性。
SelectedTab
— 当前选择的选项卡
Tab
对象
当前选择的选项卡,指定为 Tab
对象。使用此属性可确定选项卡组中当前选定的选项卡。您也可以使用此属性设置默认选项卡选项。SelectedTab
属性的默认值是您添加到 TabGroup
中的第一个 Tab
。
SelectionChangedFcn
— 所选内容改变时的回调
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
所选内容改变时的回调,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
当用户在选项卡组中选择不同的选项卡时,将执行此回调函数。
此回调函数可以访问有关用户与选项卡的交互的特定信息。MATLAB 将 SelectionChangedData
对象中的此信息作为第二个参数传递给回调函数。在 App 设计工具中,该参数名为 event
。您可以使用圆点表示法查询对象属性。例如,event.NewValue
返回当前选择的选项卡。SelectionChangedData
对象不可用于指定为字符向量的回调函数。
下表列出了 SelectionChangedData
对象的属性。
属性 | 描述 |
---|---|
OldValue | 之前选择的 |
NewValue | 当前选择的 |
Source | 执行回调的组件 |
EventName |
|
有关编写回调的详细信息,请参阅App 设计工具中的回调。
TabLocation
— 选项卡标签位置
'top'
(默认) | 'bottom'
| 'left'
| 'right'
选项卡标签位置,指定为 'top'
、'bottom'
、'left'
或 'right'
。此属性指定选项卡标签相对于选项卡组的位置。
Position
— 选项卡组的位置和大小
[left bottom width height]
选项卡组的位置和大小,指定为 [left bottom width height]
形式的四元素向量。
此表介绍该向量中的每个元素。
元素 | 描述 |
---|---|
left | 父容器的内部左边缘与选项卡组的外部左边缘之间的距离 |
bottom | 父容器的内部下边缘与选项卡组的外部下边缘之间的距离 |
width | 选项卡组的左右外部边缘之间的距离 |
height | 选项卡组的上下外部边缘之间的距离 |
所有测量值都采用 Units
属性指定的单位。
Position
值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括装饰元素(如菜单栏或标题)所占的区域。
Units
— 测量单位
'pixels'
| 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
测量单位,指定为下表中的值之一。
单位值 | 描述 |
---|---|
'pixels' (基于 uifigure 的 App 中的默认值) | 以像素为单位的距离不依赖 Windows® 和 Macintosh 系统上的系统分辨率:
在 Linux® 系统上,一个像素的大小由系统分辨率确定。 |
'normalized' (基于 figure 的 App 中的默认值) | 这些单位依据父容器进行归一化。容器的左下角映射到 |
'inches' | 英寸。 |
'centimeters' | 厘米。 |
'points' | 磅。1 磅等于 1/72 英寸。 |
'characters' | 这些单位基于图形根对象的默认 uicontrol 字体:
要访问默认的 uicontrol 字体,请使用 |
推荐值为 'pixels'
,因为大多数 MATLAB App 构建功能都以像素为单位测量距离。您可以创建一个对象,该对象根据父容器的大小重新缩放,方法是将使用 uigridlayout
函数创建的一个网格布局管理器作为该对象的父级。有关详细信息,请参阅Lay Out Apps Programmatically。
版本历史记录
在 R2014b 中推出
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)