主要内容

GUIDE生成的文件

请注意

GUIDE环境将在未来的版本中删除。移除GUIDE后,现有的GUIDE应用程序将继续在MATLAB中运行®但是在GUIDE中是不可编辑的。

要继续编辑现有的GUIDE应用程序,请参见指导迁移策略获取关于如何帮助维护应用程序与未来MATLAB版本的兼容性的信息。为了交互式地创建新的应用程序,使用App Designer开发应用代替。

代码文件和图文件

默认情况下,你第一次保存或运行你的应用程序,GUIDE保存两个文件:

  • 一个带有扩展名的图文件.fig,它包含布局和每个组件(如按钮、轴、面板、菜单等)的完整描述。图文件是一个二进制文件,你不能修改它,除非在GUIDE中改变布局。图文件是mat文件的专门化。看到自定义应用程序访问mat文件为更多的信息。

  • 带有扩展名的代码文件.m,它最初包含一些控制行为的回调的初始化代码和模板。您通常会将为组件编写的回调函数添加到该文件中。由于回调是函数,因此代码文件永远不能是MATLAB脚本。

    当你第一次保存应用程序时,GUIDE会自动在默认编辑器中打开代码文件。

图形文件和代码文件必须具有相同的名称。这两个文件通常位于同一个文件夹中,对应于应用程序的布局和编程任务。当你在布局编辑器中布局应用程序时,你的组件和布局都存储在图文件中。当你编写应用程序时,你的代码存储在相应的代码文件中。

代码文件结构

GUIDE生成的代码文件是一个函数文件。main函数的名称与代码文件的名称相同。例如,如果代码文件的名称是mygui.m,则main函数的名称为mygui.文件中的每个回调函数都是该main函数的一个局部函数。

当GUIDE生成代码文件时,它会自动包含每个组件最常用回调的模板。代码文件还包含初始化代码,以及一个打开函数回调和一个输出函数回调。你的工作是向组件回调中添加代码,让你的应用程序按照你想要的方式工作。还可以向打开函数回调和输出函数回调添加代码。代码文件的命令功能如下表所示。

部分

描述

评论

在命令行中显示,以响应帮助命令。

初始化

指导初始化任务。不要编辑此代码。

打开功能

在用户访问UI之前执行初始化任务。

输出函数

在打开函数返回控制之后,在控制返回命令行之前,将输出返回到MATLAB命令行。

组件和图形回调

控制窗口和单个组件的行为。MATLAB软件调用一个回调函数来响应一个组件或图形本身的特定事件。

实用程序/辅助函数

执行与图形或组件的事件没有直接关联的杂项功能。

向现有代码文件添加回调模板

当你保存应用程序时,GUIDE会自动为代码文件添加一些回调模板。如果您想在文件中添加其他回调函数,您可以很容易地这样做。

在GUIDE中,您可以通过以下任何一种方式将本地回调函数模板添加到代码中。选择要为其添加回调的组件,然后:

  • 右键单击鼠标按钮,并从看回调子菜单,选择需要的回调。

  • 视图>看回调,选择所需的回调。

  • 双击组件在属性检查器中显示其属性。在属性检查器中,单击纸笔图标在代码文件中要安装的回调函数的名称旁边。

  • 对于工具栏按钮,在工具栏编辑器中,单击视图旁边的按钮点击回调(用于按下工具按钮)或在回调,或了回调(切换工具)。

当您执行任何这些操作时,GUIDE将回调模板添加到代码文件中,保存它,并在您刚刚添加的回调中打开它以进行编辑。如果您选择了代码文件中当前存在的回调,GUIDE不会添加回调,而是保存文件并在您选择的回调时打开它进行编辑。

有关更多信息,请参见向导生成的回调函数和属性值

关于GUIDE-Generated回调

GUIDE为组件创建的回调与以编程方式创建的回调类似,但有一些不同。

  • GUIDE在代码文件中生成回调函数模板。

    GUIDE根据回调类型和组件来命名回调标签财产。例如,togglebutton1_Callback是这样一个默认的回调名称。如果你改变一个组件标签, GUIDE在代码文件中重命名所有回调函数,以包含新的标记。您可以更改回调的名称,用另一个函数替换它,或者使用Property Inspector完全删除它。

  • 指南提供了三个参数回调,总是命名相同。

  • 您可以将参数附加到GUIDE生成的回调函数中,但是永远不要更改或删除GUIDE放置在那里的那些回调函数。

  • 您可以通过编辑它的名称或更改组件来重命名一个guide生成的回调函数标签

  • 你可以通过从属性检查器中清除组件来删除一个回调函数;此操作不会从代码文件中删除任何内容。

  • 您可以为多个组件指定相同的回调函数,以使它们能够共享代码。

在GUIDE中删除一个组件后,它拥有的所有回调函数都保留在代码文件中。如果您确定没有其他组件使用回调,那么您可以手动删除回调代码。有关详细信息,请参见重命名和删除guide生成的回调

相关的话题