主要内容

创建并运行一个简单的编程软件

这个例子展示了如何创建和使用MATLAB®运行编程应用功能。这个例子将指导您完成的过程建立一个可运行的应用程序中,用户可以交互式地探索不同类型的情节。构建应用程序使用这些步骤:

  1. 设计应用程序通过创建主图窗口布局,布局的UI组件,配置组件通过设置属性的外观。

  2. 项目应用程序响应当用户交互。

  3. 运行应用程序以验证您的应用程序的外观和行为。

定义主要应用函数

创建一个可编程应用,编写应用程序代码在函数文件。这允许用户从命令窗口运行你的应用程序通过输入函数的名称。

创建一个新的命名函数simpleApp并将其保存到一个文件命名simpleApp.m在一个文件夹,在MATLAB路径。提供上下文和指示使用应用程序通过添加帮助文本功能。用户可以看到这帮助文本输入帮助simpleApp在命令行中。

函数simpleApp% SIMPLEAPP交互式地探索绘图功能%选择函数用于情节的示例数据%的差异表面情节、网格图和瀑布的情节结束

在编写你所有的应用程序代码simpleApp.m文件。查看完整的示例代码,请参阅运行应用程序

创建用户界面图窗口

每个编程应用程序都需要一个UI图窗口作为主要的应用程序容器。这个窗口显示当用户运行应用程序时,它的UI组件组成的应用程序。专为应用程序创建一个UI图窗口配置建筑通过调用uifigure函数。返回结果对象作为一个变量,这样您就可以访问对象在你的代码。您可以修改尺寸、外观、和行为图窗口通过设置图属性使用点符号。

在这个例子中,这段代码添加到simpleApp函数创建一个UI图窗口,指定其标题。

无花果= uifigure;fig.Name =“我的应用”;

管理应用程序的布局

管理UI组件的位置和大小在网格图窗口使用布局管理器。这允许您列出您的UI组件在网格通过指定每个组件的行和列。

网格布局管理器添加到您的应用程序使用uigridlayout函数。创建的网格图窗口通过传入无花果作为第一个参数,然后指定网格大小。在这个示例中,创建一个2×2网格将这段代码添加到simpleApp函数。

gl = uigridlayout(图2 [2]);

控制每个网格的行和列的大小通过设置RowHeightColumnWidth属性的网格布局管理器。在这个例子中,确保你的应用的焦点是绘制的数据。指定应用程序的第一行是30像素高,第二行填满剩下的图窗口。第一列的宽度适合它的内容。

gl.RowHeight ={30日“1 x”};gl.ColumnWidth = {“健康”,“1 x”};

如何列出应用程序的更多信息,参见列出应用程序以编程方式

创建和UI组件的位置

用户与应用程序交互的相互作用不同的UI组件,比如按钮、下拉菜单、编辑字段。所有可用的UI组件的列表,请参阅构建的应用程序组件

这个示例使用三个不同的UI组件:

  • 一个标签提供指导

  • 一个下拉,让用户选择一个绘图功能

  • 一组轴绘制数据

创建一个UI组件,并将它添加到网格通过调用相应的组件创建函数和指定网格布局管理器作为第一个输入参数。存储组件作为变量在代码中访问它们。创建和存储这三个组件,将这段代码添加到simpleApp函数。

lbl = uilabel (gl);dd = uidropdown (gl);ax = uiaxes (gl);

当你为你的应用创建的组件,位置在正确的行和列的网格。为此,设置布局每个组件的属性。位置的标签在网格的左上角和右上角的下拉。使对象既包括通过指定列在第二行Layout.Column作为一个双元素向量。

%的位置标签lbl.Layout。行= 1;lbl.Layout。列= 1;%的位置下拉dd.Layout。行= 1;dd.Layout。列= 2;%轴位置ax.Layout。行= 2;ax.Layout。列= (1 - 2);

配置用户界面组件外观

每个UI组件对象有很多属性,确定它的外观。改变属性,使用点符号。组件属性的列表,请参阅相应的属性页。例如,下拉的属性列出所有的属性下拉组件。

修改标签文本提供上下文通过设置下拉选项文本财产。

lbl。文本=“选择情节类型:“;

指定的绘图功能,用户可以选择从下拉通过设置项目财产。设置下拉的值,用户将看到当他们第一次运行这个应用程序。

dd.Items = [“冲浪”,“网”,“瀑布式”];dd.Value =“冲浪”;

程序应用程序行为

项目应用程序通过使用回调函数响应用户交互。时执行的回调函数是一个函数的应用程序用户执行一个特定的交互,比如选择一个下拉项。每个UI组件有多个回调属性,每一个都对应于一个不同的用户交互。写一个回调函数,并将其分配给一个适当的回调属性来控制应用程序的行为。

在本例中,应用程序更新当用户选择一个新的下拉项的阴谋。在simpleApp.m后的文件,simpleApp函数,定义一个回调函数命名changePlotType。MATLAB时自动将两个输入参数传递给每一个回调函数触发回调。这些输入参数通常命名src事件。第一个参数包含的组件触发回调,和第二个参数包含关于用户交互的信息。定义changePlotType接受src事件除了第三个输入参数,指定轴的阴谋。在回调函数中,访问新的下拉值使用事件参数,然后使用这个值来决定如何更新图数据。调用适当的绘图函数并指定输入轴为轴的阴谋。

函数changePlotType (src、事件、ax)类型= event.Value;开关类型情况下“冲浪”冲浪(ax,峰);情况下“网”网格(ax,峰);情况下“瀑布式”瀑布(ax,峰);结束结束

关联的changePlotType与下拉组件,功能simpleApp函数,设置ValueChangedFcn属性下拉组件的单元阵列。细胞数组的第一个元素是一个句柄changePlotType回调函数。第二个元素是情节上的数据对象。当一个应用程序用户选择下拉选项,MATLAB调用回调函数,并通过在源,事件,和轴参数。回调函数然后更新绘制中的应用。

dd.ValueChangedFcn = {@changePlotType, ax};

写回调函数的更多信息,请参阅为应用程序以编程方式创建编写回调

最后,为了确保策划下拉值之前的数据是一致的changePlotType第一次执行时,调用冲浪函数。

冲浪(ax,峰);

运行应用程序

添加所有的应用元素之后,你的simpleApp函数应该如下:

函数simpleApp% SIMPLEAPP交互式地探索绘图功能%选择函数用于情节的示例数据%的差异表面情节、网格图和瀑布的情节%创建图窗口无花果= uifigure;fig.Name =“我的应用”;%管理应用程序布局gl = uigridlayout(图2 [2]);gl.RowHeight ={30日“1 x”};gl.ColumnWidth = {“健康”,“1 x”};%创建UI组件lbl = uilabel (gl);dd = uidropdown (gl);ax = uiaxes (gl);%制定UI组件%的位置标签lbl.Layout。行= 1;lbl.Layout。列= 1;%的位置下拉dd.Layout。行= 1;dd.Layout。列= 2;%轴位置ax.Layout。行= 2;ax.Layout。列= (1 - 2);%配置UI组件的外观lbl。文本=“选择情节类型:“;dd.Items = [“冲浪”“网”“瀑布式”];dd.Value =“冲浪”;冲浪(ax,峰);%给拉回调函数dd.ValueChangedFcn = {@changePlotType, ax};结束%程序应用程序行为函数changePlotType (src、事件、ax)类型= event.Value;开关类型情况下“冲浪”冲浪(ax,峰);情况下“网”网格(ax,峰);情况下“瀑布式”瀑布(ax,峰);结束结束

查看应用程序的帮助文本。

帮助simpleApp
SIMPLEAPP交互式地探索绘图函数选择函数用来画出样本数据表面情节之间的差异,网格图和瀑布的阴谋

运行该应用程序在命令窗口输入应用名称。更新的阴谋从下拉选择不同的绘图选项。

simpleApp

图我的应用程序包含一个坐标轴对象和另一个uigridlayout类型的对象。坐标轴对象包含一个类型的对象的表面。

相关的话题