主要内容

为多个应用程序设计器组件使用一个回调

当你想在你的应用程序中提供多种方式来做某事时,在组件之间共享回调是有用的。例如,当用户单击按钮或按下按钮时,你可能希望你的应用程序以相同的方式响应输入在编辑字段中输入键。

共享回调的例子

这个例子展示了如何创建一个包含两个共享回调的UI组件的应用程序。该应用程序显示具有指定级别数的等高线图。当用户更改编辑字段中的值时,他们可以按下输入或按更新图按钮更新情节。

  1. 在应用程序设计器中,拖动组件的组件库画在画布上。然后做出以下改变:

    • 双击标题,并将其更改为选择峰值轮廓函数

    • 双击X轴和Y轴标签,按删除键来删除它们。

  2. 拖一个编辑字段(数字)在画布上的轴下面的组件。然后做出以下改变:

    • 双击编辑字段旁边的标签并将其更改为级别:

    • 双击编辑字段并将默认值更改为20.

  3. 拖一个按钮添加到画布上编辑字段旁边的组件。然后双击其标签并将其更改为更新图

  4. 添加当用户单击按钮时执行的回调函数。右键单击更新图按钮并选择回调>添加ButtonPushedFcn回调

  5. 应用程序设计器切换到代码视图.类的主体中粘贴此代码UpdatePlotButtonPushed回调函数:

    Z =峰值(100);nlevels = app.LevelsEditField.Value;轮廓(app.UIAxes, Z, nlevels);
  6. 接下来,与编辑字段共享回调。在浏览器组件,右键单击app.LevelsEditField组件并选择回调>选择现有的回调….当弹出“选择回调函数”对话框时,选择UpdatePlotButtonPushed的名字下拉菜单。

    共享此回调允许用户在修改编辑字段中的值并按下后更新绘图输入.或者,也可以更改值并按更新图按钮。

  7. 接下来,设置轴宽高比和限制。在浏览器组件,选择app.UIAxes组件。然后,在标签:

    • PlotBoxAspectRatio1, 1, 1

    • XLim而且YLim0100年

  8. 点击运行保存并运行应用程序。

更改或断开回调

属性中的组件,以将不同的回调分配给该组件浏览器组件.然后按回调选项卡,并从下拉菜单中选择不同的回调。下拉菜单只显示现有的回调。

控件中的组件,选择该组件,即可断开与组件共享的回调浏览器组件.然后按回调选项卡,选择<没有回调>从下拉菜单中。选择此选项只会断开回调与组件的连接。它不会从代码中删除函数定义,也不会断开与任何其他组件的回调。断开回调后,可以为组件创建新的回调,也可以让组件不带回调函数。

若要从代码中删除回调函数定义,请转到回调页中的代码浏览器右键单击要删除的回调。然后,选择删除从上下文菜单。

相关的话题