河北工程学院&环境教研室
数学实验九
MATLAB图形用户界面(
GUI)
句柄图形操作
图形用户界面(GUI)
河北工程学院&环境教研室
句柄图形操作
河北工程学院&环境教研室
基本概念
句柄图形(对底层图形例程集合的总
称,并生成图形)
对象(一组紧密相关,形成统一整体
的数据结构和函数的集合)
句柄(每一个对象的唯一数据标识)
河北工程学院&环境教研室
句柄图形对象
河北工程学院&环境教研室
对象的属性:每一个对象都具有与特定对象
相应的特性,不同的对象的属性可由函数
Get获得,Set进行设置
对象属性包括:属性名和属性值
如:Hd=figure(‘color’,’white’)
河北工程学院&环境教研室
H=figure
Get(H)
BackingStore = on
CloseRequestFcn = closereq
Color = [ ]
Colormap = [ (64 by 3) double array]
CurrentAxes = []
CurrentCharacter =
CurrentObject = []
CurrentPoint = [0 0]
Dithermap = [ (64 by 3) double array]
DithermapMode = manual
FixedColors = [ (3 by 3) double array]
IntegerHandle = on
例
河北工程学院&环境教研室
InvertHardcopy = on
KeyPressFcn =
MenuBar = figure
MinColormap = [64]
Name =
NextPlot = add
NumberTitle = on
PaperUnits = inches
PaperOrientation = portrait
PaperPosition = [ 8 6]
PaperPositionMode = manual
PaperSize = [ 11]
PaperType = usletter
Pointer = arrow
PointerShapeCData = [ (16 by 16)
double array]
PointerShapeHotSpot = [1 1]
河北工程学院&环境教研室
Position = [64 36 672 504]
Renderer = painters
RendererMode = auto
Resize = on
ResizeFcn =
SelectionType = normal
ShareColors = on
Units = pixels
WindowButtonDownFcn =
WindowButtonMotionFcn =
WindowButtonUpFcn =
WindowStyle = normal
ButtonDownFcn =
Children = []
Clipping = on
河北工程学院&环境教研室
CreateFcn =
DeleteFcn =
BusyAction = queue
HandleVisibility = on
HitTest = on
Interruptible = on
Parent = [0]
Selected = off
SelectionHighlight = on
Tag =
Type = figure
UIContextMenu = []
UserData = []
Visible = on
河北工程学院&环境教研室
h=plot(x,y,x,z) 返回句柄h(1)和h(2)
Set(h(1),’color’,[1 ],’linewidth’,3)
Set(h(2),’color’,[1 ],’linewidth’,4)
河北工程学院&环境教研室
获得当前对象句柄(最常用对象)
H1=gcf; get current figure(gcf for short)
H2=gca; get current axis (gca)
H3=gco; get current object (gco)
Get(H1,’type’)
Get(H2,’type’)
Get(0)……根对象属性
河北工程学院&环境教研室
获得当前所有对象句柄
H=Findobj
Findobj(‘Property’,PropertyValue)
河北工程学院&环境教研室
位置(position)和单位(units)
Units:inches;centimeters
河北工程学院&环境教研室
根对象的位置属性:
Position由ScreenSize代替
[left,bottom][1,1]
[width,height]屏幕实际尺寸
例:get(0,'screensize')
ans =
1 1 800 600
河北工程学院&环境教研室
图形句柄函数
河北工程学院&环境教研室
创建图形用户界面(GUI)
Graphics User Interface
河北工程学院&环境教研室
GUI的层次结构
河北工程学院&环境教研室
建立用户菜单和子菜单
hm1=uimenu(h_parent,’property’,propertyvalue)
最重要的属性
Label: 其属性值为菜单和下拉菜单的文本字
符串
Callback:其属性值为Matlab字符串,当选中菜
单项时,传给eval函数,并执行
河北工程学院&环境教研室
如:
H1=uimenu(gcf,’label’,’example’)
H1_1=uimenu(H1,’label’,’grid’,’callback’,’grid’)
H1_2=uimenu(H1,’label’,’view’ )
H1_21=uimenu(H1_2,’label’,’2-D’,’callback’,’view(2)’)
H1_22=uimenu(H1_2,’label’,’3-D’,’callback’,’view(3)’)
河北工程学院&环境教研室
控制框类型
1. 按纽框:执行一个动作(如open, close)
2. 无线按纽:设置参数的开关(0 或1)
3. 检查框:切换按纽
4. 静态文本框:显示标示﹑用户信息及当前值
5. 可编辑文本框:容许用户输入文本或特定值
6. 滑标(滚动条):用于选取某一范围内的值
7. 弹出式菜单:向用户提供一些可选的清单
8. 框架:带色彩的矩形区域,提供视觉的分隔性
河北工程学院&环境教研室
如:
H_box=uicontrol(gcf,’style’,’check’,…
‘position’,[100 50 100 20],…
‘string’,’Axis Box’,…
‘callback’,[‘if get(H_box,’value’)==1’,…
‘set(gca,’box’,’on’)’,…
else…
‘set(gca,’box’,’off’)’,…
end])
河北工程学院&环境教研室
建立用户控制框
hm1=uicontrol(h_parent,’style’,’stylevalue’,’prop
erty’,propertyvalue)
最重要的属性
Style: 其属性值为控制框类型
Callback:其属性值为Matlab字符串,当选中
该项时,传给eval函数,并执行相应的命令
河北工程学院&环境教研室
创建用户GUI的Matlab工具
Guide函数的使用
各类对象的含义与定义方式
创建GUI的一个示例
河北工程学院&环境教研室
详细情况请见
MATLAB GUI
演示