笔记
指南环境将在将来的释放中删除。删除指南后,现有的指南应用程序将继续在Matlab中运行®但他们不会在指南中可编辑。
要继续编辑现有指南应用程序,请参阅指导迁移策略有关如何帮助将应用程序与未来MATLAB版本保持兼容性的信息。以交互方式创建新应用程序,使用App Designer开发应用程序反而。
此示例显示如何使用指南创建具有简单用户界面(UI)的应用程序,例如此处所示的应用程序。
后续部分指导您通过创建此应用程序的过程。
如果您只想查看并运行创建此应用的代码,请将当前文件夹设置为您的写入访问权限。通过发出以下MATLAB命令复制示例代码并在编辑器中打开它:
COPYFILE(FullFile(Docroot,'TechDoc','Mearing_guis',...'exampleR_gui *。*'),fileattrib('simple_gui *。*','+ w');指南simple_gui.fig;编辑simple_gui.m.
通过键入打开指南中的新空白GUI指导
在matlab提示符。
显示组件调色板中的组件的名称:
选择文件>喜好>指导。
选择在组件调色板中显示名称。
点击行。
通过调整布局编辑器中的网格区域大小设置窗口的大小。单击右下角并拖动它,直到画布大约3英寸高,4英寸宽。如有必要,使画布更大。
添加,对齐和标记UI中的组件。
将三个按钮添加到UI。从布局编辑器左侧的组件调色板中选择按钮工具,然后将其拖动到布局区域。创建三个按钮,大约定位它们如下图所示。
将剩余的组件添加到UI。
静态文本区域
弹出菜单
轴
如下图所示,布置组件。将轴部件调整为大约2×2英寸的大小。
如果多个组件具有相同的父级,则可以使用对齐工具彼此对齐。要对齐三个按钮:
按按键选择所有三个按钮Ctrl.然后点击它们。
选择工具>对象。
在对齐工具中使这些设置:
在水平方向上左对齐。
20个像素在垂直方向上按下按钮之间间隔。
点击行。
三个按钮中的每一个都指定绘图类型:冲浪,网格和轮廓。本节向您展示如何使用这些选项标记按钮。
选择看法>物业检查员。
在布局区域中,单击顶部按钮。
在物业检查员,选择细绳
属性,然后用单词替换现有值冲浪
。
按下进入钥匙。按钮标签更改为冲浪。
依次单击每个剩余的按钮,然后重复步骤3和4.标记中间按钮网,和底部按钮轮廓。
弹出菜单提供三种数据集的选择:峰值,膜和sinc。这些数据集对应于相同名称的MATLAB函数。本节向您展示如何将这些数据集列为POP菜单中的选项。
在布局区域中,单击弹出菜单。
在“物业检查员”中,单击旁边的按钮细绳
。将显示“字符串”对话框。
用三个数据集的名称替换现有文本:峰值,膜和sinc。按进入移动到下一行。
完成编辑项目时,单击行。
列表中的第一个项目,峰
,出现在布局区域的弹出菜单中。
在此UI中,静态文本用作弹出菜单的标签。本节向您展示如何更改静态文本以读取选择数据
。
在布局区域中,单击静态文本。
在“物业检查员”中,单击旁边的按钮细绳
。在显示的字符串对话框中,用短语替换现有文本选择数据
。
点击行。
词组选择数据
出现在弹出菜单上方的静态文本组件中。
保存布局时,Guide会创建两个文件,图文件文件和代码文件。与扩展名的图文件文件。图
,是一个二进制文件,包含布局的描述。代码文件,扩展.m
,包含控制应用程序行为的MATLAB函数。
通过选择保存并运行程序工具>跑步。
Guide显示一个对话框,显示:“激活将保存对图文件和MATLAB代码的更改。你想继续吗?
点击是的。
指南打开A.另存为对话框在当前文件夹中,并提示您输入图文件名。
浏览到您具有写权限的任何文件夹,然后输入文件名simple_gui.
对于图文件文件。指南使用此名称保存图数据文件和代码文件。
如果保存文件的文件夹不在MATLAB路径上,则指南将打开一个对话框,允许您更改当前文件夹。
指南保存文件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
。
在MATLAB编辑器中显示打开功能。
如果是文件simple_gui.m.
尚未在编辑器中打开,通过选择从布局编辑器开放看法>编辑。
在这一点编辑标签,在导航部分,点击去,然后选择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);
通过在开始的评论后立即将以下代码添加到打开功能,创建数据来绘制数据%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.
因此。
在MATLAB编辑器中显示弹出菜单回调。在“指南布局编辑器”中,右键单击弹出菜单组件,然后选择查看回调>打回来。
Guide在编辑器中显示代码文件,并将光标移动到Pop-Menu回调,其中包含此代码:
%---在popupmenu1中执行选择更改。函数popupmenu1_callback(fhree,eventdata,handles)%femplet句柄到popupmenu1(见GCBO)%EventData保留 - 在未来版本的MATLAB%手柄结构中定义,使用句柄和用户数据(见Guidata)
将以下代码添加到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)
每个按钮使用弹出菜单中当前选择指定的数据创建不同类型的绘图。按钮回调可从中获取数据把手
结构然后绘制它。
显示冲浪在MATLAB编辑器中按按钮回调。在布局编辑器中,右键单击冲浪按按钮,然后选择查看回调>打回来。
在编辑器中,光标移动到冲浪在代码文件中按按钮回调,其中包含此代码:
%---在按钮上执行按钮按按钮1。函数按钮1_callback(febject,eventdata,handles)%femplet句柄到按钮1(见GCBO)%EventData保留 - 要在未来版本的MATLAB%手柄结构中定义,具有手柄和用户数据(见Guidata)
在开始的评论后立即将以下代码添加到回调中%手柄......
%显示当前所选数据的冲浪图。冲浪(Handles.Current_Data);
重复步骤1和2以添加类似的代码网和轮廓按按钮回调。
将此代码添加到网按按钮回调,按钮2_callback.
:
%显示当前所选数据的网格图。网格(Handles.Current_Data);
将此代码添加到轮廓按按钮回调,按钮3_callback.
:
%显示当前所选数据的轮廓图。轮廓(Handles.Current_data);
通过选择来保存代码文件>节省。
在代码应用程序的行为,您编写了弹出菜单和按钮。您还为它们创建了数据以使用并初始化显示。现在,您可以运行您的程序来查看它的工作原理。
通过选择通过布局编辑器运行您的程序工具>跑步。
在弹出菜单中,选择膜,然后单击网按钮。该应用程序显示一个网格图Mathworks.®L形膜标志。
在关闭窗口之前尝试其他组合。