Main Content

GUIDE 选项

注意

在以后的版本中将会删除 GUIDE 环境。在删除 GUIDE 后,使用 GUIDE 创建的现有 App 可以继续在 MATLAB® 中运行,但不能在 GUIDE 中对其进行编辑。

要继续编辑使用 GUIDE 创建的现有 App,请参阅 GUIDE 迁移策略,了解有关如何帮助保持该 App 与未来 MATLAB 版本的兼容性的信息。要以交互方式创建新 App,请改用使用 App 设计工具开发 App

GUI 选项对话框

在 GUIDE 布局编辑器中,通过选择工具 > GUI 选项访问“GUI 选项”对话框。您所选择的选项会在下次保存 UI 时生效。

调整大小行为

您可以控制用户能否调整窗口大小,以及 MATLAB 如何处理大小调整操作。GUIDE 提供了三个选项:

  • 不可调整大小 - 用户不能更改窗口大小(默认值)。

  • 成比例 - 软件自动按新图窗窗口的大小成比例地缩放 UI 中的组件。

  • 其他(使用 SizeChangedFcn) - 为 UI 编程,使其在用户调整图窗窗口大小时执行特定操作。

前两个选项会相应地设置图窗和组件属性,不需要其他操作。其他(使用 SizeChangedFcn) 则需要编写回调例程,以基于新的图窗大小重新计算组件的大小和位置。

命令行的可访问性

您可以使用 GUIDE 的命令行的可访问性选项,通过命令行或通过代码文件来限制对图窗窗口的访问。

除非显式指定图窗句柄,否则,许多命令(例如 plot)会更改当前图窗(由 CurrentFigure 根属性指定并由 gcf 命令返回的图窗)。当前图窗通常是最近创建、绘制或用鼠标点击的图窗。可采用编程方式,按以下四种方法将图窗 h(其中 h 为其句柄)指定为当前图窗:

  1. set(groot,'CurrentFigure',h) - 将图窗 h 设为当前图窗,但不更改其可见性或相对其他图窗的堆叠

  2. figure(h) - 将图窗 h 设为当前可见图窗,并显示在其他图窗之上

  3. axes(h) - 将现有坐标区 h 设为当前坐标区,并将包含该坐标区的图窗显示在其他图窗之上

  4. plot(h,...) 或任何将坐标区作为第一个参量的绘图函数,也会将现有坐标区 h 设为当前坐标区,并将包含该坐标区的图窗显示在其他图窗之上

gcf 函数将返回当前图窗的句柄。

h = gcf

对于在 GUIDE 中创建的 UI,请设置命令行的可访问性选项,以防止用户无意中通过在命令行执行命令或通过脚本或函数(例如 plot)更改 UI 的外观或内容。下表概述了四个命令行的可访问性选项。

选项

描述

回调(GUI 成为回调内的当前图窗)

只能从回调内访问 UI。不能从命令行或脚本访问 UI。这是默认设置。

禁用(GUI 始终不能成为当前图窗)

在没有句柄的情况下,不能从回调、命令行或脚本访问 UI。

启用(GUI 可通过命令行成为当前图窗)

可以从回调、命令行和脚本访问 UI。

其他(使用属性检查器中的设置)

通过从属性检查器设置 HandleVisibilityIntegerHandle 属性来控制可访问性。

生成 FIG 文件和 MATLAB 文件

如果想要 GUIDE 同时创建 FIG 文件和 UI 代码文件(这是默认设置),请在 GUI 选项对话框中选择生成 FIG 文件和 MATLAB 文件。选择此选项后,可以选择框架内的以下任意项来配置 UI 代码:

有关这些文件的信息,请参阅Files Generated by GUIDE

生成回调函数原型

如果在 GUI 选项对话框中选择了生成回调函数原型,GUIDE 会将最常用回调的模板添加到大多数组件的代码文件。然后必须在这些模板中插入代码。

每当通过布局编辑器的右键点击上下文菜单编辑回调例程时,以及在使用菜单编辑器向 UI 添加菜单时,GUIDE 也会添加回调。

有关回调的一般信息,请参阅在 GUIDE 中编写回调

注意

此选项仅在首次选择生成 FIG 文件和 MATLAB 文件选项时可用。

GUI 仅允许运行一个实例(单例)

利用此选项,可以在图窗窗口的两种行为之间进行选择:

  • 允许 MATLAB 软件一次仅显示一个 UI 实例。

  • 允许 MATLAB 软件显示多个 UI 实例。

如果只允许一个实例,则每次执行运行程序的命令时,软件都会重用现有的图窗。如果 UI 窗口已经存在,软件会将其置于前景,而不是创建新图窗。

如果清除此选项,则每次发出运行程序的命令时,软件都会创建新图窗。

即使只允许存在一个 UI 实例,每次从命令行调用此实例时仍然可能进行初始化。例如,OpeningFcn 中的代码在每次运行 GUIDE 程序时都会运行,除非采取步骤阻止其这样做。控制此类行为的方法之一是在 handles 结构体中添加一个标志。您可以在 OpeningFcn 中执行此操作,它可以在此标志尚不存在时运行初始化代码,在此标志存在时跳过该代码。

注意

此选项仅在首次选择生成 FIG 文件和 MATLAB 文件选项时可用。

对背景使用系统颜色方案

用于 UI 组件的默认颜色取决于系统。利用此选项,可以将图窗背景色设为与默认的组件背景色相同。

为确保图窗背景与组件颜色匹配,请在 GUI 选项对话框中选择对背景使用系统颜色方案

注意

此选项仅在首次选择生成 FIG 文件和 MATLAB 文件选项时可用。

仅生成 FIG 文件

利用仅生成 FIG 文件选项,可以打开图窗和 UI 以执行有限的编辑操作。可以是任意图窗,而不一定是 UI。UI 不一定是使用 GUIDE 生成的。此模式提供了有限的编辑功能,可能适用于在 MATLAB 5.3 版和更早版本中生成的 UI。有关详细信息,请参阅 guide 函数。

如果执行以下操作之一,GUIDE 将会选择仅生成 FIG 文件作为默认设置:

  • 通过提供一个或多个图窗对象作为参量,从命令行启动 GUIDE。

    guide(f)

    这种情况下,即使同一文件夹中存在具有相应名称的代码文件,GUIDE 也会选择仅生成 FIG 文件

  • 从命令行启动 GUIDE 并提供 FIG 文件名,对于该文件,同一文件夹内不存在具有相同名称的代码文件。

    guide('myfig.fig')
  • 使用 GUIDE 的打开现有 GUI 选项卡打开一个 FIG 文件,对于该文件,同一文件夹内不存在具有相同名称的代码文件。

在选中仅生成 FIG 文件的情况下保存图窗或 UI 时,GUIDE 将仅保存 FIG 文件。您必须视具体情况自行更新任何相应的代码文件。

如果需要 GUIDE 为您管理 UI 代码文件,请在保存 UI 之前将该选项更改为生成 FIG 文件和 MATLAB 文件。如果同一位置没有相应的代码文件,GUIDE 将会创建一个。如果同一文件夹中存在与原始图窗或 UI 具有相同名称的代码文件,则 GUIDE 会将其覆盖。为防止覆盖现有文件,请使用文件菜单中的另存为来保存 UI。为这两个文件选择其他文件名。GUIDE 将会视具体情况更新新代码文件中的变量名称。

不含代码的 UI 回调

即使不存在与 UI FIG 文件关联的代码文件,您仍然可以为 UI 组件提供回调,使其在被使用时执行操作。在属性检查器中,可以键入字符向量、内置函数或 MATLAB 代码文件名形式的回调;当您的程序运行时,将会执行这些回调(如果可能)。如果回调为文件名,则它可能包含该函数的参量。例如,将某个普通按钮的 Callback 属性设为 sqrt(2),会导致命令行窗口中显示以下表达式结果:

ans =
    1.4142
回调执行的任何文件都必须位于当前文件夹中或在 MATLAB 路径上。有关回调如何工作的详细信息,请参阅在 GUIDE 中编写回调

相关主题