主要内容

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

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

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

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

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

创建组件并分配回调

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

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

b = UIBUTTON(APP.UIFIGURE);

接下来,将组件的Callback属性指定为表单的函数句柄@应用程序。CallbackName.。例如,此命令设置buttonpushedfcn.按钮的财产B.到一个名为的回调函数mybuttonpress.

B.B.Buttonpushedfcn = @ app.mybuttompress;

写回调

将组件的回调函数写为私有辅助功能。该功能必须具有应用程序SRC., 和事件作为前三个论点。以下是作为私人帮助函数写入的回调的示例。

方法(Access = Private)函数MyButtonPress(APP,SRC,Event)Disp('祝您有愉快的一天!');结尾结尾

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

方法(访问=私有)功能Addxy(App,SRC,事件,X,Y)DISP(X + Y);结尾结尾

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

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

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

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

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

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

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

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

相关话题