主要内容

以编程方式将UI组件添加到App Designer

大多数UI组件可在App Designer中使用组件库用于拖放到画布上。偶尔,您可能需要在代码视图中以编程方式添加组件。以下是一些常见的情况:

  • 控件中不可用的组件组件库。例如,显示对话框的应用程序必须调用适当的函数来显示对话框。

  • 根据运行时条件动态创建组件。

当您以编程方式添加UI组件时,必须调用适当的函数来创建组件,为组件分配回调,然后将回调写为辅助功能。

创建组件并分配回调

调用从现有回调中创建组件的函数(对于UI组件函数列表,请参阅uifigure-Based应用)。这StartupFcn回调是创建组件的好地方,因为当应用程序启动时,回调运行。在其他情况下,您可能会在不同的回调函数中创建组件。例如,如果要在用户按下按钮时显示对话框,请从按钮的回调函数中调用对话框函数。

调用函数以创建组件时,将图形或一个子容器指定为父对象。例如,此命令创建一个按钮,并将图形指定为父对象。在这种情况下,该图具有App Designer分配的默认名称(app.uifigure.)。

B = UIBUTTON(APP.UIFIGURE);

接下来,将组件的Callback属性指定为表单的函数句柄@app。CallbackName.。例如,此命令设置了buttonpushedfcn.按钮属性B.的回调函数mybuttonpress

B.B.Buttonpushedfcn = @ app.mybuttonpress;

写回调

将组件写入私有辅助功能的回调函数。该功能必须具有应用程序src,事件作为前三个参数。下面是一个作为私有助手函数编写的回调函数示例。

方法(访问=私人)函数mybuttonpress(app,src,事件)disp(“祝你今天愉快!”);结尾结尾

要编写接受其他输入参数的回调,请在前三个之后指定附加参数。例如,此回调接受两个附加输入,Xy

方法(访问=私人)函数Addxy(APP,SRC,事件,X,Y)DISP(x + y);结尾结尾

要将此回调分配给组件,请将组件的回调属性指定为单元格数组。单元格阵列中的第一个元素必须是函数句柄。后续元素必须是附加输入值。例如:

B.Buttonpushedfcn = {@ app.addxy,10,20};

示例:具有关闭功能的确认对话框

此应用程序显示如何在对话框关闭时,如何显示执行回调的确认对话框。

当用户单击窗口的关闭按钮时(X),将显示一个对话框以确认用户想要关闭应用程序。当用户解雇对话框时,关闭回调执行。

示例:基于数据文件填充树节点的应用程序

此应用程序显示如何在运行时动态添加树节点。在应用程序运行之前,这三个医院节点存在于树中。但是在运行时,该应用程序会在每个医院名称下添加多个子节点。子节点的数量和子节点上的标签由内容确定患者.XL电子表格。

当用户单击树中的患者名时,患者信息面板显示年龄,性别和健康状况等数据。该应用程序存储对表阵列中的数据的更改。

相关的话题