主要内容

工具栏属性

控件工具栏外观和行为

工具栏是图形窗口顶部的水平按钮列表的容器。的uitoolbar函数在图形中创建工具栏,并在显示它之前设置所需的属性。通过更改属性值,可以修改工具栏的外观和行为。使用点符号来引用特定的对象和属性。

结核病= uitoolbar;结核病。可见=“关闭”;

交互性

全部展开

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

  • “上”—显示对象。

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

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

设置此属性对该类型的对象没有影响。

回调

全部展开

组件创建函数,指定为以下值之一:

  • 一个处理函数。

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

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

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

此属性指定MATLAB创建组件时执行的回调函数。方法之前,MATLAB初始化所有组件属性值CreateFcn回调。如果不指定CreateFcn属性,然后MATLAB执行一个默认创建函数。

使用gcbo函数在你CreateFcn获取正在创建的组件对象的代码。

设置CreateFcn属性对现有组件对象不起作用。

组件删除函数,指定为以下值之一:

  • 一个处理函数。

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

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

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

DeleteFcn属性指定当MATLAB删除组件时执行的回调函数(例如,当用户关闭窗口时)。MATLAB执行DeleteFcn在销毁组件对象的属性之前回调。如果不指定DeleteFcn属性,然后MATLAB执行一个默认删除函数。

使用gcbo函数在你DeleteFcn获取要删除的组件对象的代码。

回调执行控制

全部展开

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

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

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

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

每当MATLAB调用回调时,该回调尝试中断正在运行的回调(如果存在的话)。的可中断拥有正在运行的回调的对象的属性决定是否允许中断:

  • 的值“上”允许其他回调来中断对象的回调。中断发生在MATLAB处理队列的下一个点,例如当有drawnow数字getframe等待,或暂停

    • 如果正在运行的回调包含这些命令之一,那么MATLAB将在此时停止回调的执行,并执行中断回调。当中断回调完成时,MATLAB继续执行正在运行的回调。

    • 如果正在运行的回调函数不包含这些命令之一,那么MATLAB将在不中断的情况下完成回调函数的执行。

  • 的值“关闭”阻止所有中断尝试。的BusyAction拥有中断回调的对象的属性决定中断回调是否被丢弃或放入队列中。

请注意

在这些情况下,回调中断和执行的行为是不同的:

  • 如果中断回调为DeleteFcnCloseRequestFcn,或SizeChangedFcn回调,则中断发生不管可中断属性值。

  • 如果正在运行的回调函数正在执行等待函数,则不管可中断属性值。

  • 计时器对象根据调度执行,而不管可中断属性值。

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

看到中断执行回调举个例子来说明可中断BusyAction属性影响程序的行为。

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

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

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

BusyAction中断回调源的属性决定了MATLAB如何处理它的执行。的BusyAction属性有以下值:

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

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

每当MATLAB调用回调时,该回调总是试图中断正在执行的回调。的可中断正在运行回调的对象的属性确定是否允许中断。如果可中断设置为:

  • -中断发生在MATLAB处理队列的下一个点。这是默认值。

  • - - -BusyAction属性(拥有中断回调的对象的属性)决定MATLAB是排队还是忽略中断回调。

看到中断执行回调举个例子来说明BusyAction可中断属性影响程序的行为。

此属性是只读的。

删除状态,返回类型为开/关逻辑值matlab.lang.OnOffSwitchState

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

检查该值BeingDeleted属性来验证对象在查询或修改之前不会被删除。

此属性对该类型的对象不起作用。

父/子

全部展开

父对象,指定为数字对象创建的uifigure数字函数。如果没有指定父图形,则MATLAB调用数字函数创建一个作为父节点的节点。

你可以移动一个工具栏对象,通过将此属性设置为目标数字对象。

工具栏儿女,归为空GraphicsPlaceholder或组件对象的一维数组。的孩子工具栏对象是PushToolToggleTool对象。

属性添加或删除子节点孩子们财产。使用此属性可查看子列表或对子列表重新排序。这个数组中子元素的顺序反映了工具栏中显示的工具从右到左的顺序。这意味着最右边的工具位于列表的顶部,最左边的工具位于列表的底部。例如,该命令返回的工具顺序孩子们属性表示推工具出现在工具栏中的切换工具的左侧。

toolOrder =结核。孩子们
toolOrder = 2×1 graphics array: ToggleTool PushTool

要将子列表添加到此列表,请设置属性的子组件工具栏对象。

的对象HandleVisibility属性设置为“关闭”没有列在孩子们财产。

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

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

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

标识符

全部展开

此属性是只读的。

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

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

用户数据,指定为任意数组。指定用户数据可以在应用程序中共享数据。看到在回调之间共享数据为更多的信息。

另请参阅

功能

之前介绍过的R2006a