主要内容

ToggleTool属性

控制切换工具外观和行为

切换工具是显示在图形顶部的工具栏中的切换按钮。的uitoggletool函数在工具栏中创建一个切换按钮,并在显示按钮之前设置所需的属性。通过更改属性值,可以修改其外观和行为的某些方面。使用点表示法来引用特定的对象和属性。

Tt = uitoggletool;tt。分隔符= 'on';

切换工具

全部展开

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

当此属性值为“上”时,切换按钮出现在向下(按下)的位置。当此属性值为“关闭”时,切换按钮出现在向上位置。改变状态会导致相应的OnCallbackOffCallback函数执行。

图标源或文件,指定为字符向量、字符串标量或——- - - - - -n-by-3真彩色图像数组。如果指定字符向量或字符串标量,则它可以是MATLAB上的图像文件名®映像文件的路径或完整路径。如果您计划与他人共享您的应用程序,请将图像文件放在MATLAB路径下,以便于应用程序打包。万博1manbetx支持的图像格式包括JPEG、PNG、GIF和SVG。

如果您指定——- - - - - -n-by-3数组时,它被解释为真彩色图像数组。有关真彩色图像数组的更多信息,请参见图像类型

如果指定的图像大于16 × 16像素,则图标属性将缩小图像,以便整个图像适合该工具。如果指定的图像小于16x16像素,则不会按比例放大以适应可用空间。

图标属性仅在应用程序设计器和万博1manbetxuifigure的应用程序。如果图标CData属性均已设置,则CData属性被忽略。

例子:“程序”指定MATLAB路径下的图像文件。

例子:“C: \ \程序文件”指定映像文件的完整路径。

图像数组,指定为——- - - - - -n-by-3真彩色图像数组。数组中的值可以是:

  • 之间的双精度值0.01.0

  • uint8之间的值0255

若要防止图像出现剪辑或扭曲,请指定数组为n小于或等于16。如果图像被剪切,则只使用数组的中心16x16部分。

请注意

应用程序设计师和uifigure的应用程序,使用图标属性指定推和切换工具图标。

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

将此属性设置为“上”在工具栏中工具的左侧绘制分隔线。

交互性

全部展开

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

  • “上”—显示对象。

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

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

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

  • 如果将此属性设置为“上”,应用程序用户可以与组件交互。

  • 如果将此属性设置为“关闭”,该组件显示为暗,表明应用程序用户无法与它交互,并且它不会触发回调。

工具提示,指定为字符向量、字符串标量或分类数组。当你将鼠标悬停在正在运行的应用程序中的组件上时,使用此属性显示一条消息。当该组件被禁用时,工具提示不会出现。如果将此属性指定为分类数组,MATLAB将使用数组中的值,而不是全部类别集。

控件创建的数字中uifigure功能、推送工具和切换工具支持多行工具提示。万博1manbetx要创建多行工具提示,请使用sprintf函数插入换行符(' \ n ')。例如:

TXT = sprintf(“1号线、2号线”);

然后设置工具提示属性返回的值sprintf

控件创建的数字中数字功能、推送工具和切换工具不支持多行工具提示。万博1manbetx

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

工具提示,指定为字符向量、字符串标量或分类数组。当您将鼠标悬停在应用程序中的组件上时,将出现工具提示。如果您将此属性指定为分类数组,MATLAB将使用数组中的值,而不是完整的类别集。

请注意

TooltipString属性不建议从R2018b开始。使用工具提示财产。

回调

全部展开

工具单击回调,指定为以下值之一:

  • 一个函数句柄。

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

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

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

数据类型:function_handle|细胞|字符

回调上的切换工具,指定为以下值之一:

  • 一个函数句柄。

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

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

当用户打开切换工具时执行此回调。

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

数据类型:function_handle|细胞|字符

切换工具关闭回调,指定为以下值之一:

  • 一个函数句柄。

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

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

当用户关闭切换工具时执行此回调。

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

数据类型:function_handle|细胞|字符

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

  • 一个函数句柄。

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

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

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

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

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

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

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

  • 一个函数句柄。

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

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

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

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

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

回调执行控制

全部展开

回调中断,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值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可中断属性影响程序的行为。

此属性是只读的。

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

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

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

此属性对该类型的对象无效。

父/子

全部展开

父对象,指定为工具栏对象。使用此属性可在创建工具时指定父工具栏,或将现有工具移动到不同的工具栏。

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

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

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

标识符

全部展开

此属性是只读的。

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

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

用户数据,指定为任意数组。指定用户数据对于应用程序内的数据共享非常有用。看到在回调之间共享数据获取更多信息。

R2006a之前介绍