主要内容

以编程方式将UI组件添加到应用程序设计师

大多数UI组件在应用程序设计师组件库拖拽到画布上。有时候,您可能需要添加组件编程方式在代码视图。这里有一些常见的情况:

  • 创建组件并不是可用的组件库。例如,一个应用程序,它显示一个对话框必须调用相应的函数来显示对话框。

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

当你将UI组件编程,您必须调用相应的函数来创建组件,组件指定一个回调,然后写回调一个helper函数。

创建组件和分配回调

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

当你调用一个函数创建一个组件,指定子容器的图或一个父对象。例如,这个命令创建一个按钮,指定父对象图。在这种情况下,数字应用程序设计师分配的默认名称(app.UIFigure)。

b = uibutton (app.UIFigure);

接下来,指定组件的调属性作为表单的处理函数@app。callbackname。例如,这个命令集ButtonPushedFcn属性的按钮b一个回调函数命名mybuttonpress

b。ButtonPushedFcn = @app.mybuttonpress;

编写回调

为组件编写回调函数作为一个私人helper函数。函数必须有应用程序,src,事件作为第一个三个参数。这是一个回调的一个例子写成一个私人helper函数。

方法(访问=私人)函数mybuttonpress(应用程序、src、事件)disp (“祝你有美好的一天!”);结束结束

写一个回调,接受额外的输入参数,指定前三后的附加参数。例如,这个回调函数接受两个额外的输入,xy:

方法(访问=私人)函数addxy(应用、src、事件,x, y) disp (x + y);结束结束

分配这个回调到一个组件,组件的调属性指定为单元阵列。细胞数组中的第一个元素必须处理的函数。随后的元素必须被附加的输入值。例如:

b。ButtonPushedFcn = {@app.addxy, 10, 20};

例如:确认对话框,关闭功能

这个程序演示了如何显示一个确认对话框,对话框关闭时执行的回调。

当用户单击窗口的关闭按钮(X),出现一个对话框来确认用户想关闭应用程序。当用户驳斥了对话框,CloseFcn回调执行。

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

这个应用程序展示了如何在运行时动态添加树节点。三个医院节点存在于树在程序运行之前。然而在运行时,应用程序增加了几个子节点在每个医院的名字。子节点和子节点上的标签是由内容决定的patients.xls电子表格。

当用户单击一个病人名字在树上,患者信息面板显示数据,如年龄、性别和健康状况。应用商店更改数据表中的数组。

相关的话题