主要内容

TabGroup属性

控制选项卡组外观和行为

选项卡组是用于分组和管理选项卡的容器。使用uitabgroup命令用于创建标签组。通过改变a的属性值TabGroup对象时,可以修改其外观和行为的某些方面。使用点表示法来引用特定的对象和属性。

FIG = ufigure;Tg = uitabgroup(fig);tg。位置= [20 20 200 200];

的一些属性和属性值TabGroup对象的不同取决于制表符组是否是使用uifigure函数或数字函数。的uifigurefunction是在构建新应用程序时推荐使用的函数,也是应用程序设计器应用程序中使用的函数。有关更多信息,请参见开发应用的方法

选项卡

全部展开

选项卡标签位置,指定为“高级”“底”“左”,或“对”.此属性指定关于选项卡组的选项卡标签的位置。

当前选择的选项卡,指定为选项卡对象。使用此属性可确定选项卡组中当前选定的选项卡。您还可以使用此属性设置默认选项卡选择。的默认值SelectedTab财产是第一位的选项卡你把它加到TabGroup

交互性

全部展开

可见状态,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

  • “上”—显示对象。

  • “关闭”—隐藏对象,但不删除对象。您仍然可以访问不可见UI组件的属性。

要使应用程序启动更快,请设置可见财产“关闭”用于启动时不需要出现的所有组件。

更改不可见容器的大小会触发SizeChangedFcn当它变得可见时回调。

改变了可见属性的值可见子组件的属性。即使隐藏容器会导致隐藏子组件,情况也是如此。

上下文菜单,指定为快捷菜单对象创建。uicontextmenu函数。使用此属性可在右键单击组件时显示上下文菜单。

位置

全部展开

选项卡组的位置和大小,指定为窗体的四个元素向量[左下宽高]

该表描述了向量中的每个元素。

元素 描述
从父容器的内左边缘到制表符组的外左边缘的距离
从父容器的内底边到制表符组的外底边的距离
宽度 制表符组左右外边缘之间的距离
高度 制表符组的顶部和底部外边缘之间的距离

所有的测量单位都由单位财产。

位置值相对于可拉的区域父容器的。可绘制区域是容器边界内的区域,不包括菜单栏或标题等装饰所占用的区域。

选项卡组的位置和大小,指定为窗体的四个元素向量[左下宽高].所有的测量单位都由单位财产。

属性值与位置而且OuterPosition属性值。

选项卡组的位置和大小,指定为窗体的四个元素向量[左下宽高].所有的测量单位都由单位财产。

属性值与位置而且InnerPosition属性值。

度量单位,在本表中指定为其中一个值。

单位价值 描述
“像素”(默认)

在Windows上,以像素为单位的距离与系统分辨率无关®而且麦金塔电脑系统:

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

  • 麦金塔电脑在系统中,一个像素是1/72英寸。

在Linux上®在系统中,像素的大小是由系统分辨率决定的。

“归一化”

这些单元相对于父容器是规范化的。容器的左下角映射到(0,0)右上角映射到(1,1)

“英寸” 英寸。
“厘米” 厘米。
“点” 点。1分等于1/72英寸。

推荐值为:“像素”,因为大多数MATLAB®应用程序构建功能以像素度量距离。类创建的网格布局管理器,可以创建一个根据父容器大小重新缩放的面板uigridlayout函数。有关更多信息,请参见以编程方式布局应用程序

数字的应用程序

属性创建的应用程序中的选项卡组数字函数,默认值为单位“归一化”

此外,您还可以指定单位作为“角色”.字符单位基于图形根对象的默认uicontrol字体:

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

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

要访问默认的uicontrol字体,请使用get(大的,“defaultuicontrolFontName”)集(大的,“defaultuicontrolFontName”)

回调

全部展开

选择已更改的回调,指定为以下值之一:

  • 一个函数句柄。

  • 第一个元素为函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。

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

这个回调函数可以访问关于用户与选项卡交互的特定信息。MATLAB将此信息传递到SelectionChangedData对象作为回调函数的第二个参数。在App Designer中,这个参数被调用事件.可以使用点表示法查询对象属性。例如,事件。NewValue返回当前选定的选项卡。的SelectionChangedData对象对于指定为字符向量的回调函数不可用。

属性的属性如下表所示SelectionChangedData对象。

财产

描述

OldValue

之前的选择选项卡,或[]如果没有被选中

NewValue

当前选择的选项卡

组件执行回调

EventName

“SelectionChanged”

有关编写回调函数的详细信息,请参见在应用程序设计器中编写回调

大小变化回调,指定为以下值之一:

  • 一个函数句柄。

  • 第一个元素为函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。

定义这个回调函数,当容器的大小发生变化时(例如,当用户调整窗口大小时)自定义应用程序的布局。在其中,编写代码进行调整位置子组件的属性。

请注意

uifigure的应用程序,SizeChangedFcn回调函数将不会执行,除非AutoResizeChildren属性设置为“关闭”.在应用程序设计器中,你可以创建SizeChangedFcn可通过选择容器并清除AutoResizeChildren控件的组件选项卡中的复选框浏览器组件

SizeChangedFcn当以下情况执行回调:

  • 这个容器第一次变得可见。

  • 这个容器在大小改变时是可见的。

  • 这个容器在大小改变后第一次变得可见。这种情况发生在容器不可见时大小发生变化,然后容器变得可见。

定义属性时需要考虑的其他要点SizeChangedFcn回调函数:

  • 考虑将此容器的显示延迟到所有变量结束后SizeChangedFcn定义用途。这种做法可以防止SizeChangedFcn返回错误的回调。若要延迟容器的显示,请设置其可见财产“关闭”.然后,设置可见财产“上”在你定义了变量之后SizeChangedFcn回调使用。

  • 如果你的应用包含嵌套容器,它们会由内而外调整大小。

  • 控件中访问正在调整大小的容器SizeChangedFcn,引用源对象(回调中的第一个输入参数)或使用gcbo函数。

uifigure基于应用程序,指定调整大小行为的另一种方法是创建一个GridLayout对象或使用应用程序设计器中的自动回流选项。这些选项使用起来比SizeChangedFcn回调。然而,有一些优点SizeChangedFcn回调函数有超过这些选项。例如:

  • 将组件的大小调整到您定义的最小或最大大小。

  • 实现非线性调整大小行为。

按键回调函数,指定为以下值之一:

  • 一个函数句柄。

  • 第一个元素为函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见指定回调函数

ButtonDownFcn回调是当用户单击容器内的鼠标按钮时执行的函数。

对象创建函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调

此属性指定在MATLAB创建对象时执行的回调函数。函数执行之前,MATLAB初始化所有属性值CreateFcn回调。如果没有指定CreateFcn属性,然后MATLAB执行默认的创建函数。

设置CreateFcn属性在现有组件上不起作用。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo函数来访问对象。

对象删除函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调

此属性指定在MATLAB删除对象时执行的回调函数。MATLAB执行DeleteFcn在销毁对象的属性之前。如果没有指定DeleteFcn属性,然后MATLAB执行默认删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在删除的对象。否则,使用gcbo函数来访问对象。

回调执行控制

全部展开

回调中断,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

此属性决定是否可以中断正在运行的回调。有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的Callback。

  • 打断回调是试图中断正在运行的回调的回调。

MATLAB在执行处理回调队列的命令时确定回调中断行为。这些命令包括drawnow数字uifiguregetframe等待,暂停

如果正在运行的回调不包含这些命令之一,则不会发生中断。MATLAB首先完成运行回调的执行,然后再执行中断回调。

如果正在运行的回调包含这些命令之一,则可中断属性决定是否发生中断:

  • 如果的值可中断“关闭”,则不发生中断。相反,BusyAction属性确定中断回调是被丢弃还是添加到回调队列。

  • 如果的值可中断“上”,则中断。下一次MATLAB处理回调队列时,它将停止正在运行的回调的执行,并执行中断的回调。中断回调完成后,MATLAB继续执行正在运行的回调。

请注意

回调中断和执行在以下情况下表现不同:

  • 如果中断回调是DeleteFcnCloseRequestFcn,或SizeChangedFcn回调函数时,中断发生,而不管可中断属性值。

  • 方法当前正在执行等待函数,则中断发生而不管可中断属性值。

  • 如果中断回调属于计时器对象,则回调函数将根据调度执行,而不管可中断属性值。

请注意

当中断发生时,MATLAB不保存属性的状态或显示。方法返回的对象gcagcf命令可能在执行另一个回调时更改。

回调队列,指定为“队列”“取消”.的BusyAction属性决定MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的Callback。

  • 打断回调是试图中断正在运行的回调的回调。

BusyAction属性仅在满足以下两个条件时确定回调排队行为:

在这些条件下,BusyAction拥有中断回调的对象的属性决定了MATLAB如何处理中断回调。的可能值BusyAction属性:

  • “队列”—将中断的回调放到队列中,待正在运行的回调执行完成后再处理。

  • “取消”—不执行中断回调。

此属性是只读的。

删除状态,作为类型的on/off逻辑值返回matlab.lang.OnOffSwitchState

MATLAB设置BeingDeleted财产“上”DeleteFcn回调开始执行。的BeingDeleted属性仍然设置为“上”直到组件对象不再存在。

的值BeingDeleted属性在查询或修改对象之前验证对象是否即将被删除。

父/子

全部展开

父容器,指定为数字对象创建。uifigure函数,或者它的子容器之一:选项卡面板ButtonGroup,或GridLayout.如果没有指定容器,MATLAB将调用uifigure函数创建一个新的数字对象,该对象用作父容器。

TabGroup儿女,归为空GraphicsPlaceholder的一维数组选项卡对象。

控件不能添加或删除选项卡孩子们的属性TabGroup.使用此属性可查看选项卡列表或重新排列选项卡。顺序选项卡此数组中的对象反映屏幕上显示的选项卡的顺序。

要将子元素添加到此列表中,请设置的属性选项卡对象的TabGroup对象。

对象句柄的可见性,指定为“上”“回调”,或“关闭”

此属性控制对象在其父对象的子列表中的可见性。当一个对象在其父对象的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数将不会返回该对象。这些函数包括得到findobjclf,关闭.对象即使不可见也是有效的。如果可以访问对象,就可以设置和获取其属性,并将其传递给对对象进行操作的任何函数。

HandleVisibility价值 描述
“上” 对象总是可见的。
“回调” 对象在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。
“关闭” 这个物体在任何时候都是看不见的。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility“关闭”在函数执行期间暂时隐藏对象。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“uitabgroup”

对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签值作为对象的标识符。方法在代码中的其他地方需要访问对象时,可以使用findobj方法搜索对象标签价值。

用户数据,指定为任意MATLAB数组。例如,您可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据财产。有关更多信息,请参见在应用设计器应用中共享数据

uifigure仅限基于应用程序

全部展开

请注意

属性仅对应用程序设计器中的选项卡组和使用uifigure函数。

工具提示,指定为字符向量、字符向量的单元格数组、字符串数组或分类数组。使用此属性可在用户运行时将指针悬停在选项卡组上时显示一条消息。选项卡组的工具提示仅在选项卡组中没有选项卡时显示。若要显示多行文本,请指定由字符向量、字符串数组或分类数组组成的单元格数组。数组中的每个元素都成为一个单独的文本行。如果将此属性指定为分类数组,MATLAB将使用数组中的值,而不是全部类别集。

请注意

属性仅对应用程序设计器中的选项卡组和使用uifigure函数。

自动调整子节点的大小,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

  • “上”—当容器大小调整时,子组件自动调整大小。

  • “关闭”—子组件不调整大小。

AutoResizeChildren属性影响容器的直接子元素,而不影响嵌套容器中的子元素。

要自定义调整大小行为,请设置AutoResizeChildren财产“关闭”并创建一个SizeChangedFcn容器的回调。有关更多信息,请参见以编程方式管理应用程序调整大小的行为

要禁用应用程序的大小调整,请设置调整属性“关闭”

请注意

属性仅对应用程序设计器中的选项卡组和使用uifigure函数。

布局选项,指定为GridLayoutOptions对象。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子组件(例如,它是图形或面板的子组件),则此属性为空,没有作用。但是,如果组件是网格布局容器的子元素,则可以将组件放置在网格的所需行和列中而且属性GridLayoutOptions对象。

例如,这段代码将一个选项卡组放在其父网格的第三行和第二列中。

G = uigridlayout([4 3]);Tg = uitabgroup(g);tg.Layout.Row = 3;tg.Layout.Column = 2;

属性可使选项卡组跨多行或多列属性作为两元素向量。例如,这个选项卡组跨列2通过3.

tg.Layout.Column = [2 3];

兼容性的考虑

全部展开

不建议从R2020a开始

另请参阅

功能

属性

在R2014b中引入