Matlab基础及其应用-APP设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.2 GUI函数
MATLAB基础与应用教程
10.2.2 建立用户菜单
1.创建菜单
MATLAB提供了uimenu函数来创建、设置、修改菜单。函数调用格 式为
m = uimenu(parent,属性1,属性值1,属性2,属性值2, …)
建立菜单时,parent为图形窗口的句柄,默认在当前图形窗口中 建立这个菜单。
10.1.3 回调函数
2.回调函数 回调函数定义对象怎样处理信息并响应某事件,该函数不会主动 运行,是由主控程序调用的。 回调函数的基本结构: function 回调函数名(source, eventdata) …… end 参数source是发生事件的源对象句柄,eventdata存储事件数据。
10.1 图形用户界面
MATLAB基础与应用教程
第10章 APP设计
【本章学习目标】 掌握图形用户界面设计的方法。 熟悉控件的常用属性。 掌握GUIDE的使用。 掌握GUI回调函数的定义方法。 掌握App设计工具的使用。
10.1 图形用户界面
MATLAB基础与应用教程
10.1.1 用户界面对象概述
1.控件(Controls) (1)按钮。一个按钮代表一种操作,也称为命令按钮。 (2)滑动条。用户可以通过移动滑块来改变滑动条对象的值。 (3)单选按钮。当被选中时,圆圈的中心有一个实心的黑点, 否则圆圈为空白。在一组单选按钮中,只能有一个被选中。 (4)复选框。被选中的项其小方框中有√。复选框一次可以选 择多项。 (5)可编辑文本。供用户输入数据用。编辑框内输入的是字符, 参与算术运算前需要转换为对应的数。 (6)静态文本。一般用作其他控件的标签、提示。
uimenu(hcc,'Text','红','Tag','r','CallBack',@LineStatus);
uimenu(hcc,'Text','黑','Tag','k','CallBack',@LineStatus);
%将该快捷菜单和曲线对象关联
hl.UIContextMenu=hc;
10.2 GUI函数
10.2 GUI函数
MATLAB基础与应用教程
建立脚本文件menudemo.m,程序如下:
syms t;
x=sin(t)+sin(2*t);
y=cos(t)-cos(2*t); hf=figure('Name','快捷菜单演示');
hl=fplot(x,y,'Tag','myline');
hc=uicontextmenu;
'String','选项A',... 'Position',[10 10 100 30]); >> r2 = uicontrol(bg,'Style','radiobutton',... 'String','选项B',... 'Position',[110 10 100 30],... 'Value',1);
>> hm=uimenu(gcf,'Label','文件'); >> hm1=uimenu(hm,'Label','打开'); >> hm2=uimenu(hm,'Label','新建'); >> hm3=uimenu(hm,'Label','保存'); >> hm21=uimenu(hm2,'Label','图形窗口'); >> hm22=uimenu(hm2,'Label','坐标轴'); MATLAB图形窗口带有默认菜单,若不需要图形窗口的默认菜单为了建立用户自己的 菜单系统,可以先将图形窗口的MenuBar属性设置为none。
%建立快捷菜单
%建立一级菜单项
hcs=uimenu(hc,'Text','线型');
hcc=uimenu(hc,'Text','线条颜色');
%建立二级菜单项
uimenu(hcs,'Text','虚线','Tag',':','CallBack',@LineStatus)
uimenu(hcs,'Text','实线','Tag','-','CallBack',@LineStatus);
10.1 图形用户界面
MATLAB基础与应用教程
10.1.2 控件的公共属性
1.外观控制属性 (7)Position属性。用于定义控件对象在用户界面中的位置和 大小,属性值是一个4元向量 [n1,n2,n3,n4]。n1和n2分别为 控件对象左下角相对于父对象的x、y坐标,n3和n4分别为控件对 象的宽度和高度。 (8)Max、Min属性。用于指定控件对象的最大值和最小值,默 认值分别是1和0。 (9)Value属性。用于获取和设置控件对象的当前值。 (10)UserData属性。用于存储与控件对象关联的数据,默认为 空数组。
10.2 GUI函数
MATLAB基础与应用教程
10.2.2 建立用户菜单
2.菜单属性 菜单对象除具有Children、Parent、Tag等公共属性外,还有一 些特殊属性。 Label属性:用于定义菜单项上显示的文字。 Accelerator属性:用于定义菜单项的快捷键。 Checked属性:指示菜单项是否已选中。 Enable属性:控制菜单项的可选择性。 Separator属性:在菜单项上方添加一条分隔线。
h>> =fhu=iftiogoulreb;ar(parent,属性1,属性值1,属性2,属性值2, …)
>> bg = uibuttongroup(fh,'Position',[0.1,0.1,0.5,0.1]); >> r1 = uicontrol(bg,'Style','rHale Waihona Puke Baidudiobutton',...
10.3 GUIDE
10.3.1 GUIDE简介
2.界面编辑器窗口
工具栏 组件选项板 界面设计区
状态栏
MATLAB基础与应用教程
菜单栏
10.3 GUIDE
MATLAB基础与应用教程
10.3.1 GUIDE简介
3.回调属性 用于定义对象怎样处理信息并响应事件。 在GUIDE中,按钮类控件和菜单项的单击事件的默认回调属性是 Callback ;其他图形对象的回调属性还有ButtonDownFcn、 KeyPressFcn、SelectionChangeFcn等。 在GUIDE中,控件的回调属性值默认为“%automatic”,即自动 使用默认的回调方法。 GUIDE自动生成的回调函数头格式为: function pushbutton1_Callback(hObject,eventdata,handles) hObject存储事件触发的源控件 eventdata存储事件数据
MATLAB基础与应用教程
建立函数文件LineStatus.m,定义回调函数。
function LineStatus(source,~) h=findobj('Tag','myline'); if source.Parent.Text=="线条颜色"
h.Color=source.Tag; elseif source.Parent.Text=="线型"
参数parent用于指定控件对象的容器(即父对象),属性及其取 值决定了控件对象的特征。
例如,在图形窗口上放置一个滑动条:
fh=figure('position',[100,200,320,160]); sh = uicontrol(fh,'Style','slider', ...
'Max',100,'Min',0,'Value',25, ... 'SliderStep',[0.05 0.2], ... 'Position',[60 100 150 30]);
10.1 图形用户界面
MATLAB基础与应用教程
10.1.3 回调函数
1.事件驱动机制 面向对象的程序设计是以对象感知事件的过程为编程单位,当事 件发生时,相应的程序段才会运行。 事件是由用户或操作系统引发的动作。 gcbo命令用于获取正在执行回调的对象句柄。
10.1 图形用户界面
MATLAB基础与应用教程
10.2 GUI函数
MATLAB基础与应用教程
10.2.1 建立控件对象
uibuttongroup函数、uipanel函数、uitoolbar函数,分别用于 建立按钮组、面板、工具栏,调用格式为
h = uibuttongroup(parent,属性1,属性值1,属性2,属性值2, …)
h = uipanel(parent,属性1,属性值1,属性2,属性值2, …)
10.1 图形用户界面
MATLAB基础与应用教程
10.1.1 用户界面对象概述
3.工具栏(Toolbars) 工具栏以图标方式提供了常用命令的快速访问按钮。
10.1 图形用户界面
MATLAB基础与应用教程
10.1.2 控件的公共属性
1.外观控制属性 (1)Style属性。用于定义控件对象的类型。 (2)Tag属性。用于定义控件标识。 (3)String属性。用于定义控件对象的说明文字。 (4)Enable属性。用于控制控件对象是否可用,取值是’on’ (默认值)或’off’。 (5)HorizontalAlignment属性。用于设置说明文字的水平对齐 方式,可取值为'center'(默认值)、'left'或'right'。 (6)BackgroundColor用于定义控件对象区域的背景色,默认值 为[.94 .94 .94](浅灰色); ForegroundColor属性用于定义控件对象说明文字的颜色,默认 为黑色。
h.LineStyle=source.Tag; end
10.3 GUIDE
MATLAB基础与应用教程
10.3.1 GUIDE简介
1.打开GUIDE 打开GUIDE有两种方法: (1)在MATLAB桌面, 选择“主页”选项卡,单击工具栏的“新 建”命令按钮,,从弹出的命令列表中选“App”下的命令项 “GUIDE”。 (2)在MATLAB命令行窗口输入guide命令。
10.1 图形用户界面
MATLAB基础与应用教程
10.1.2 控件的公共属性
2.事件响应属性 (1)Callback属性。属性值是描述命令的字符串或函数句柄, 当单击控件时,系统将自动执行字符串描述的命令或调用句柄所 代表的函数,实施相关操作。 (2)ButtonDownFcn属性:用于定义在控件对象上单击鼠标左键 时执行的命令。 (3)KeyPressFcn属性。用于定义在控件对象上按下键盘键时执 行的命令。 (4)KeyReleaseFcn属性。用于指定在控件对象上按下键盘键后 释放时执行的命令。 (5)CreateFcn属性:用于指定在建立控件对象时执行的命令。 (6)DeleteFcn属性:用于指定删除控件对象时执行的命令。
10.2 GUI函数
MATLAB基础与应用教程
10.2.3 建立快捷菜单
(1)uicontextmenu函数用于建立快捷菜单,函数调用格式为 m = uicontextmenu(parent,属性1,属性值1,属性2,属性值2, …) (2)利用uimenu函数为快捷菜单建立下一级菜单项。 (3)通过图形对象的UIContextMenu属性将快捷菜单与图形对象 关联。
MATLAB基础与应用教程
【例10.1】绘制[0,2π]的正弦曲线,当在曲线上单击鼠标 左键时,将曲线线条颜色改为红色。
首先定义回调函数setlinecolor。
function setlinecolor(source,~) source.Color='r';
end
将上述函数保存为函数文件setlinecolor.m。然后在命令窗口 执行以下命令。
10.1 图形用户界面
MATLAB基础与应用教程
10.1.1 用户界面对象概述
2.菜单(Menus) 通过使用菜单,可以把对程序的各种操作命令非常规范有效地呈 现给用户,单击菜单项程序将执行相应的功能。 菜单对象是图形窗口的子对象。 快捷菜单(ContextMenu)是用鼠标右键单击某对象时在屏幕上 弹出的菜单。也称为上下文菜单。
>> x=linspace(0,2*pi,50); >> h=plot(x,sin(x)); >> h.ButtonDownFcn=@setlinecolor;
10.2 GUI函数
MATLAB基础与应用教程
10.2.1 建立控件对象
函数uicontrol用于建立控件对象的,调用格式为
h = uicontrol(parent,属性1,属性值1,属性2,属性值2, …)
相关文档
最新文档