主要内容

使用指南创建一个简单的应用程序

笔记

指南环境将在将来的释放中删除。删除指南后,现有的指南应用程序将继续在Matlab中运行®但他们不会在指南中可编辑。

要继续编辑现有指南应用程序,请参阅指导迁移策略有关如何帮助将应用程序与未来MATLAB版本保持兼容性的信息。以交互方式创建新应用程序,使用App Designer开发应用程序反而。

此示例显示如何使用指南创建具有简单用户界面(UI)的应用程序,例如此处所示的应用程序。

后续部分指导您通过创建此应用程序的过程。

如果您只想查看并运行创建此应用的代码,请将当前文件夹设置为您的写入访问权限。通过发出以下MATLAB命令复制示例代码并在编辑器中打开它:

COPYFILE(FullFile(Docroot,'TechDoc','Mearing_guis',...'exampleR_gui *。*'),fileattrib('simple_gui *。*','+ w');指南simple_gui.fig;编辑simple_gui.m.
点击跑步 按钮运行应用程序。

在“指南布局编辑器”中打开新UI

  1. 通过键入打开指南中的新空白GUI指导在matlab提示符。

  2. 显示组件调色板中的组件的名称:

    1. 选择文件>喜好>指导

    2. 选择在组件调色板中显示名称

    3. 点击

在指南中设置窗口大小

通过调整布局编辑器中的网格区域大小设置窗口的大小。单击右下角并拖动它,直到画布大约3英寸高,4英寸宽。如有必要,使画布更大。

布局UI.

添加,对齐和标记UI中的组件。

  1. 将三个按钮添加到UI。从布局编辑器左侧的组件调色板中选择按钮工具,然后将其拖动到布局区域。创建三个按钮,大约定位它们如下图所示。

  2. 将剩余的组件添加到UI。

    • 静态文本区域

    • 弹出菜单

    如下图所示,布置组件。将轴部件调整为大约2×2英寸的大小。

对齐组件

如果多个组件具有相同的父级,则可以使用对齐工具彼此对齐。要对齐三个按钮:

  1. 按按键选择所有三个按钮Ctrl.然后点击它们。

  2. 选择工具>对象

  3. 在对齐工具中使这些设置:

    • 在水平方向上左对齐。

    • 20个像素在垂直方向上按下按钮之间间隔。

  4. 点击

标记按钮

三个按钮中的每一个都指定绘图类型:冲浪,网格和轮廓。本节向您展示如何使用这些选项标记按钮。

  1. 选择看法>物业检查员

  2. 在布局区域中,单击顶部按钮。

  3. 在物业检查员,选择细绳属性,然后用单词替换现有值冲浪

  4. 按下进入钥匙。按钮标签更改为冲浪

  5. 依次单击每个剩余的按钮,然后重复步骤3和4.标记中间按钮,和底部按钮轮廓

列出弹出菜单项

弹出菜单提供三种数据集的选择:峰值,膜和sinc。这些数据集对应于相同名称的MATLAB函数。本节向您展示如何将这些数据集列为POP菜单中的选项。

  1. 在布局区域中,单击弹出菜单。

  2. 在“物业检查员”中,单击旁边的按钮细绳。将显示“字符串”对话框。

  3. 用三个数据集的名称替换现有文本:峰值,膜和sinc。按进入移动到下一行。

  4. 完成编辑项目时,单击

    列表中的第一个项目,,出现在布局区域的弹出菜单中。

修改静态文本

在此UI中,静态文本用作弹出菜单的标签。本节向您展示如何更改静态文本以读取选择数据

  1. 在布局区域中,单击静态文本。

  2. 在“物业检查员”中,单击旁边的按钮细绳。在显示的字符串对话框中,用短语替换现有文本选择数据

  3. 点击

    词组选择数据出现在弹出菜单上方的静态文本组件中。

保存布局

保存布局时,Guide会创建两个文件,图文件文件和代码文件。与扩展名的图文件文件。图,是一个二进制文件,包含布局的描述。代码文件,扩展.m,包含控制应用程序行为的MATLAB函数。

  1. 通过选择保存并运行程序工具>跑步

  2. Guide显示一个对话框,显示:“激活将保存对图文件和MATLAB代码的更改。你想继续吗?

    点击是的

  3. 指南打开A.另存为对话框在当前文件夹中,并提示您输入图文件名。

  4. 浏览到您具有写权限的任何文件夹,然后输入文件名simple_gui.对于图文件文件。指南使用此名称保存图数据文件和代码文件。

  5. 如果保存文件的文件夹不在MATLAB路径上,则指南将打开一个对话框,允许您更改当前文件夹。

  6. 指南保存文件simple_gui.fig.simple_gui.m.,然后运行该程序。它还在默认编辑器中打开代码文件。

    该应用程序将在新窗口中打开。请注意,窗口缺少MATLAB图窗口显示的标准菜单栏和工具栏。您可以使用指南添加自己的菜单和工具栏按钮,但默认情况下,指南应用程序包含这些组件中的任何组件。

    当你运行时simple_gui.,您可以选择在弹出菜单中设置的数据,然后单击按钮,但不会发生任何内容。这是因为代码文件不包含任何语句来服务弹出菜单和按钮。

要运行使用指南创建的应用程序而无需打开指南,请通过键入其名称来执行其代码文件。

simple_gui.
你也可以使用跑步例如,使用代码文件命令,
运行simple_gui.

笔记

不要通过在指南之外打开其数字文件来尝试运行应用程序。如果这样做,则该数字将打开并显示随时使用,但UI不初始化,并不初始化。

代码应用程序的行为

在上一节中保存布局时,保存布局,Guide创建了两个文件:一个数字文件,simple_gui.fig.,以及程序文件,simple_gui.m.。但是,该应用程序并不响应,因为simple_gui.m.不包含执行操作的任何语句。本节向您展示如何将代码添加到文件中以使应用程序功能。

生成数据以绘制

本节展示了如何在用户单击按钮时生成要绘制的数据。这开放功能通过调用matlab函数来生成此数据。打开函数打开时初始化UI,并且它是每个指南生成的代码文件中的第一个回调。

在此示例中,您可以添加为打开功能创建三个数据集的代码。代码使用MATLAB函数, 和Sinc

  1. 在MATLAB编辑器中显示打开功能。

    如果是文件simple_gui.m.尚未在编辑器中打开,通过选择从布局编辑器开放看法>编辑

  2. 在这一点编辑标签,在导航部分,点击,然后选择simple_gui_openingfcn.

    光标移动到打开功能,其中包含此代码:

    %---在Simple_Gui进行可见之前执行。函数simple_gui_openingfcn(fhref,eventdata,handles,varargin)%此函数没有输出args,请参阅OutputFCN。%femject句柄要保留的%eventData  - 要在未来版本的MATLAB%句柄结构中定义,用句柄和用户数据(参见Guidata)%varargin命令行参数到Simple_g(见Varargin)%选择默认命令行输出为Simple_Gui Handles.output = fhex;%更新处理结构GUIDATA(fremling,handles);%Uiwait为用户响应进行Simple_gwait(请参阅uiresume)%Uiwait(Handles.figure1);
  3. 通过在开始的评论后立即将以下代码添加到打开功能,创建数据来绘制数据%varargin ...

    %创建数据绘图。Handles.peaks =峰(35);手柄.membrane =膜;[x,y] = meshgrid(-8:.5:8);r = sqrt(x。^ 2 + y。^ 2)+ eps;sinc = sin(r)./ r;Handles.sinc = sinc;%设置当前数据值。Handles.Current_Data = Handles.peaks;冲浪(Handles.Current_Data)

    前六条可执行行使用MATLAB函数创建数据, 和Sinc。他们存储数据把手结构,提供给所有回调的参数。按钮的回调可以从中检索数据把手结构体。

    最后两行创建了当前数据值并将其设置为峰值,然后显示峰值的冲浪绘图。下图显示了应用程序首次显示的应用程序。

代码弹出菜单行为

弹出菜单显示绘制数据的选项。当用户选择三个图中的一个时,Matlab软件设置弹出菜单价值属性到所选菜单项的索引。弹出菜单回调读取弹出菜单价值属性确定菜单当前显示的项目,并设置handles.current_data.因此。

  1. 在MATLAB编辑器中显示弹出菜单回调。在“指南布局编辑器”中,右键单击弹出菜单组件,然后选择查看回调>打回来

    Guide在编辑器中显示代码文件,并将光标移动到Pop-Menu回调,其中包含此代码:

    %---在popupmenu1中执行选择更改。函数popupmenu1_callback(fhree,eventdata,handles)%femplet句柄到popupmenu1(见GCBO)%EventData保留 - 在未来版本的MATLAB%手柄结构中定义,使用句柄和用户数据(见Guidata)
  2. 将以下代码添加到popupmenu1_callback.在发表评论之后%手柄......

    此代码首先检索两个弹出菜单属性:

    • 细绳- 包含菜单内容的单元数组

    • 价值- 所选数据集的菜单内容中的索引

    然后代码使用一个转变语句使所选数据设置当前数据。最后一个语句将更改保存到把手结构体。

    %确定所选数据集。str = get(fhref,'string');val = get(fhref,'值');%将当前数据设置为所选数据集。switch str {val};案例'峰值'%用户选择峰值。Handles.Current_Data = Handles.peaks;案例'膜'%用户选择膜。Handles.Current_Data = Handles.membrane;案例'sinc'%用户选择sinc。 handles.current_data = handles.sinc; end % Save the handles structure. guidata(hObject,handles)

代码按钮行为

每个按钮使用弹出菜单中当前选择指定的数据创建不同类型的绘图。按钮回调可从中获取数据把手结构然后绘制它。

  1. 显示冲浪在MATLAB编辑器中按按钮回调。在布局编辑器中,右键单击冲浪按按钮,然后选择查看回调>打回来

    在编辑器中,光标移动到冲浪在代码文件中按按钮回调,其中包含此代码:

    %---在按钮上执行按钮按按钮1。函数按钮1_callback(febject,eventdata,handles)%femplet句柄到按钮1(见GCBO)%EventData保留 - 要在未来版本的MATLAB%手柄结构中定义,具有手柄和用户数据(见Guidata)
  2. 在开始的评论后立即将以下代码添加到回调中%手柄......

    %显示当前所选数据的冲浪图。冲浪(Handles.Current_Data);
  3. 重复步骤1和2以添加类似的代码轮廓按按钮回调。

    • 将此代码添加到按按钮回调,按钮2_callback.

      %显示当前所选数据的网格图。网格(Handles.Current_Data);
    • 将此代码添加到轮廓按按钮回调,按钮3_callback.

      %显示当前所选数据的轮廓图。轮廓(Handles.Current_data);
  4. 通过选择来保存代码文件>节省

运行该应用程序

代码应用程序的行为,您编写了弹出菜单和按钮。您还为它们创建了数据以使用并初始化显示。现在,您可以运行您的程序来查看它的工作原理。

  1. 通过选择通过布局编辑器运行您的程序工具>跑步

  2. 在弹出菜单中,选择,然后单击按钮。该应用程序显示一个网格图Mathworks.®L形膜标志

  3. 在关闭窗口之前尝试其他组合。

相关话题