对多个 App 设计工具组件使用一个回调

news/2024/11/15 2:40:19/

        当要在App 中提供多种方法来执行某个操作时,在组件间共享回调非常有用。例如,当用户点击按钮或在编辑字段中按下 Enter 键时,App 可以用同样的方式响应。

共享回调的示例

        此示例说明如何创建一个 App,其中包含共享一个回调的两个 UI 组件。该 App 显示具有指定层数的等高线图。当用户更改编辑字段中的值时,他们可以按 Enter 或点击 Update Plot 按钮来更新绘图。

如图所示:

App with a contour plot, an edit field labeled "Levels", and a button labeled "Update Plot"

  1. 在 App 设计工具中,将坐标区组件从组件库拖到画布上。然后进行以下更改:

    • 双击标题,将其更改为 Select Contours of Peaks Function。

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

  2. 编辑字段(数值) 组件拖到画布上的坐标区下方。然后进行以下更改:

    • 双击编辑字段旁边的标签,将其更改为 Levels:。

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

  3. 按钮组件拖到画布上的编辑字段旁边。然后双击其标签,将标签更改为 Update Plot。

  4. 添加在用户点击该按钮时执行的回调函数。右键点击 Update Plot 按钮,然后选择回调 > 添加 ButtonPushedFcn 回调

  5. App 设计工具会切换到代码视图。将以下代码粘贴到 UpdatePlotButtonPushed 回调的主体中:

    Z = peaks(100);
    nlevels = app.LevelsEditField.Value;
    contour(app.UIAxes,Z,nlevels);
  6. 接下来,与编辑字段共享回调。在组件浏览器中,右键点击 app.LevelsEditField 组件,然后选择回调 > 选择现有的回调。当显示“选择回调函数”对话框时,从名称下拉列表中选择 UpdatePlotButtonPushed

    如图所示:

    Select Callback Function dialog box. The Callback drop-down list has ValueChangedFcn selected and the Name drop-down list has UpdatePlotButtonPushed selected.

    共享此回调将允许用户在更改编辑字段中的值并按 Enter 键后更新绘图。用户也可以更改值并按 Update Plot 按钮。

  7. 接下来,设置坐标区纵横比和范围。在组件浏览器中,选择 app.UIAxes 组件。然后,在坐标区选项卡中进行以下更改:

    • 将 PlotBoxAspectRatio 设置为 1,1,1。

    • 将 XLim 和 YLim 设置为 0,100。

  8. 点击运行以保存并运行 App。

    Run button


http://www.ppmy.cn/news/1268812.html

相关文章

GLB/GLTF 模型压缩轻量化

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、具有 Draco 压缩的 GLTF 和 GLB 文件格式 随着对沉浸式 3D 体验的…

创建存储函数

字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否 否 sch 表内容 id name glass 1 xiaommg glass1 2 xiaojun glass2 1、创建一个可以统计表格内记录条…

uni-app点击预览图片

<image :src"info.shopLogoUrl" tap"_previewImage(info.shopLogoUrl)" mode"widthFix" >_previewImage(image) {var imgArr [];imgArr.push(image);//预览图片uni.previewImage({urls: imgArr,current: imgArr[0]});},大佬地址

C语言—每日选择题—Day47

第一题 1. 以下逗号表达式的值为&#xff08;&#xff09; (x 4 * 5, x * 5), x 25 A&#xff1a;25 B&#xff1a;20 C&#xff1a;100 D&#xff1a;45 答案及解析 D 本题考查的就是逗号表达式&#xff0c;逗号表达式是依次计算每个表达式&#xff0c;但是只输出最后一个表…

基于以太坊的智能合约开发Solidity(事件日志篇)

//声明版本号&#xff08;程序中的版本号要和编译器版本号一致&#xff09; pragma solidity ^0.5.17; //合约 contract EventTest {//状态变量uint public Variable;//构造函数constructor() public{Variable 100;}event ValueChanged(uint newValue); //事件声明event Log(…

API接口概念及实战应用|电商API接口的接入参数说明

API是应用程序编程接口的缩写&#xff0c;它是软件系统不同组成部分之间互相通信的约定。在这篇文章中&#xff0c;我们将从基础概念开始&#xff0c;然后通过一个实际的案例来详细解释API接口的使用方法。 一、什么是API接口&#xff1f; API接口是一种允许两个或更多软件应用…

想速成硬件工程师?请先学这50个电路

要说在电子工程师所有分类里&#xff0c;哪个岗位技术含量极高且不易被淘汰&#xff1f;那毫无疑问自然是硬件工程师&#xff0c;虽然工资略低于软件工程师&#xff0c;但技术在手&#xff0c;永远不怕没饭碗&#xff0c;所以越来越多人选择成为硬件工程师&#xff0c;那么想要…

总结一篇本地idea配合阿里云服务器使用docker

idea打包打镜像发到阿里云服务器 为什么写这篇文章呢&#xff0c;就是这一整套流程我在网上没有看到完整的&#xff0c;有完整的也是要收费才能看&#xff0c;所以自己摸索了&#xff0c;自己踩过坑&#xff0c;想让兄弟们不仅能白嫖&#xff0c;还不踩坑&#xff01; 先说一…