《MATLAB基础与编程入门》课件_第7章 图形用户界面基础.pptx
7.1句柄图形入门
7.2GUIDE工具入门
7.3应用设计工具基础;7.1句柄图形入门;句柄图形(HandleGraphics)是在MATLAB环境下利用M语言编程开发交互式图形用户界面的基础,也是最古老的方法。利用句柄图形开发的图形用户界面应用程序只有一个M语言函数文件,比较容易实现跨平台应用。除了基本的绘图外,MATLAB提供了常用的用户界面控件,包括菜单、快捷菜单、按钮、复选框、单选框、文本编辑框、静态文本、下拉列表框、列表框等。
图7-1所示的交互式图形用户界面就是利用句柄图形技术开发的实例。
通过如图7-1所示的界面,用户在不了解过多内部算法细节的情况下就可以使用MATLAB强大的数据可视化和计算功能,当用户单击图形界面右边的按钮时,可在图形窗体的绘图区域绘制各种图形,同时在文本显示区域显示具体的命令行代码。
;MATLAB对图形对象的管理依照一定的层次关系来进行,上下层次之间是“父”与“子”的关系,子层次的对象会继承父层次对象的某些属性,这种逻辑关系在使用句柄图形创建交互式图形用户界面时非常重要,因为对父层次对象的属性进行操作会影响到子层次图形对象的相关属性。当“简单的GUI”图形用户界面显示于Windows操作系统中时,其包含的图形对象层次分布如图7-2所示。;在MATLAB中,只要获得了图形对象的句柄图形,就可以通过修改句柄所包含的属性来修改图形对象的外观,这也是MATLAB图形用户界面编程的基本原理。MATLAB提供了若干函数来对句柄图形进行操作,其中较为常用的函数在表7-1中进行了总结。;例7-1详细讨论了利用句柄图形修改图形对象的方法。
【例7-1】使用句柄图形修改图形对象。
在MATLAB命令行窗体中键入下面的命令:
X=linspace(-pi,pi,25);
Y=sin(X);
plot(X,Y,kX);
gridon;
这时的图形结果为黑色的以“×”为符号的正弦曲线,如图7-3所示。;获取当前曲线对象的句柄图形:
h_line=findobj(gca,Marker,X)
h_line=
Linewithproperties:
Color:[000]
LineStyle:none
LineWidth:0.5000
Marker:x
MarkerSize:6
MarkerFaceColor:none
XData:[1×25double]
YData:[1×25double]
ZData:[1×0double]
Showallproperties;这里列出了线条对象的句柄图形比较重要、常用的几个属性,可以点击命令行窗体中当前最后一行文本的allproperties,在MATLAB命令行窗体内察看线条对象的句柄图形所包含的全部属性。
whos
Name SizeBytesClassAttributes
X 1x25200double
Y 1x25200double
h_line 1x18matlab.graphics.chart.primitive.Line
可以看到,h_line变量的数据类型是MATLAB图形对象中的线条对象,实质上它是一种Java类对象,代表了在当前坐标轴上绘制的曲线,有了这个变量,可以通过函数操作曲线对象,如获取整个曲线的属性列表:
get(h_line)
AlignVertexCenters:off
Annotation:[1×1matlab.graphics.eventdata.Annotation]
BeingDeleted:off
BusyAction:queue
ButtonDownFcn:
;Children:[0×0GraphicsPlaceholder]
Clipping:on