Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

在 App 设计工具中编写回调

回调是在用户与 App 中的 UI 组件交互时执行的函数。大多数组件都至少包含一个回调。但是,某些组件(如标签和信号灯)没有回调,因为这些组件仅显示信息。

要查看某个组件支持的回调的列表,请选择该组件,然后点击组件浏览器中的回调选项卡。

创建回调函数

为 UI 组件创建回调有多种方法。您可以根据所使用的 App 设计工具部分来使用不同的方法。从以下列表中选择最方便的方法。

  • 右键点击画布中的一个组件、组件浏览器App 布局窗格,然后选择回调 > 添加(回调属性)回调

  • 组件浏览器中选择回调选项卡。回调选项卡的左侧将显示受支持的回调属性列表。每个回调属性旁边的下拉菜单允许您指定回调函数的名称。该文本字段旁边的向下箭头允许您选择以尖括号 <> 括起来的默认名称。如果您的 App 有现有回调,则下拉列表中会包含这些回调。当需要多个 UI 组件执行相同代码时,请选择一个现有回调。

  • 在代码的代码视图中,在编辑器选项卡中点击回调 。或者,在回调选项卡上的代码浏览器中,点击 按钮。

    添加回调函数对话框中,指定以下选项:

    • 组件 - 指定执行回调的 UI 组件。

    • 回调 - 指定回调属性。回调属性将回调函数映射到特定交互。某些组件具有多个可用的回调属性。例如,滑块具有两个回调属性:ValueChangedFcnValueChangingFcnValueChangedFcn 属性在用户移动滑块并释放鼠标后执行。用户移动滑块时,同一组件的 ValueChangingFcn 属性会重复执行。

    • 名称 - 为回调函数指定名称。App 设计工具会提供默认名称,但您可以在文本字段中更改该名称。如果您的 App 有现有回调,则名称字段旁边会有一个向下箭头,表示您可以从列表中选择一个现有回调。

使用回调函数输入参数

App 设计工具中的所有回调在函数签名中均有以下输入参数:

  • app - app 对象。使用此对象访问 App 中的 UI 组件以及存储为属性的其他变量。

  • event - 包含有关用户与 UI 组件交互的特定信息的对象。

app 参数为回调提供 app 对象。您可以使用以下语法访问任何回调中的任何组件(以及特定于组件的所有属性):

app.Component.Property

例如,以下命令将仪表的 Value 属性设置为 50。在此示例中,仪表的名称为 PressureGauge

app.PressureGauge.Value = 50;

event 参数提供具有不同属性的对象,具体取决于正在执行的特定回调。对象属性包含与回调响应的交互类型相关的信息。例如,滑块的 ValueChangingFcn 回调中的 event 参数包含一个名为 Value 的属性。该属性在用户移动滑块(释放鼠标之前)时存储滑块值。以下是一个滑块回调函数,它使用 event 参数使仪表跟踪滑块的值。

function SliderValueChanging(app, event)
      latestvalue = event.Value; % Current slider value
      app.PressureGauge.Value = latestvalue;  % Update gauge   
end
要了解有关特定组件回调函数的 event 参数的更多信息,请参阅该组件的属性页。右键点击组件,然后选择关于所选内容的帮助打开属性页。有关所有 UI 组件的属性页列表,请参阅 App 构建组件

在代码中搜索回调

如果您的 App 有很多回调,您可以通过在代码浏览器中的回调选项卡顶部的搜索栏中键入部分名称,以快速搜索并导航到特定回调。开始键入后,回调窗格的内容将被清除,但会显示符合搜索条件的回调。

点击一个搜索结果以将回调滚动到视图中。右键点击搜索结果并选择转至会将光标置于回调函数中。

删除回调

右键点击代码浏览器回调选项卡中的回调并从上下文菜单中选择删除,可删除回调。

示例:具有滑块回调的 App

以下 App 包含一个在用户移动滑块时跟踪滑块值的仪表。滑块的 ValueChangingFcn 回调从 event 参数中获取滑块的当前值。然后它使仪表指针指向该值。

相关主题