好文档 - 专业文书写作范文服务资料分享网站

MATLAB_GUI设计-专题讲稿-王正盛

天下 分享 时间: 加入收藏 我要投稿 点赞

当关闭时,弹出式菜单以矩形或按钮的形式出现,按钮上含有当前选择的标志,在标志右侧有一个向下的箭头或凸起的小方块来表明uicontrol对象是一个弹出式菜单。当指针处在弹出式uicontrol之上并按下鼠标时,出现其它选项。移动指针到不同的选项,松开鼠标就关闭弹出式菜单,显示新的选项。MS-Windows 和某些X Window系统平台允许用户单击弹出式菜单,打开它,而后单击另一个选项来进行选择。

当选择一个弹出项时, ' Value ' 属性值设置成选择向量所选元素的下标。选项的标志指定为一个字符串,用垂直条 ' | ' 分隔,与指定多行文本的方法一样。下面的例子(mmct17.m)建立了图形颜色的弹出式菜单。回调函数把图形的 ' Color ' 属性值设定为所选值。每种与颜色相关的RGB值存储在弹出控制框的

' UserDate ' 属性中。所有句柄图形对象的 ' UserData ' 属性仅仅为单独矩阵提供孤立的存储。

>> Hc_fcolor = uicontrol(gcf, ' Style ' , ' popumenu ' ,... ' Position ' ,[20 20 80 20],... ' String ' , ' Black|Red|Yellow|Green|Cyan|Blue|Magenta|White ' ,... ' Value ' ,1,...

UserData ' ,[[0 0 0];...

[1 0 0];... [1 1 0];... [0 1 0];... [0 1 1];... [0 0 1];... [1 0 1];... [1 1 1];... CallBack ' ,[...

' UD=get(Hc_fcolor, ' ' UserData ' ' ); ' ,... ' set(gcf, ' ' Color ' ' ,UD(get(Hc_fcolor, ' ' Value ' ' ),:)) ' ]);

弹出式菜单的 ' Position ' 属性含有熟悉的向量[left bottom width height],其中宽度与高度决定了弹出对象的大小。在X Window和Macintosh系统中,就是被关闭的弹出式菜单的大小。打开时,菜单展开适合显示屏幕大小所有的选项。在MS-Windows系统中,高度值基本上被忽略,这些平台建立高度足够的弹出式菜单,显示一行文本而不管height的值。

(8)框架

框架uicontrol对象仅是带色彩的矩形区域。框架提供了视觉的分隔性。在这点上,框架与uimenu的 ' Sepatator ' 属性相似。框架典型地用于组成无线按钮或其它uicontrol对象。在其它对象放入框架之前,框架应事先定义。否则,框架可能覆盖控制框使它们不可见。 下面的例子(mmct18.m)建立了一个框架,把两个按钮和一个标志放入其中。

>> Hc_frame = uicontrol(gcf,' Style ', ' frame ' , ' Position ' ,[250 200 95 65]); >> Hc_pb1 = uicontrol(gcf, ' Style ' , ' pudhbutton ' ,... ' Position ' ,[255 205 40 40], ' String ' , ' OK ' ); >> Hc_pb2 = uicontrol(gcf, ' Style ' , ' pushbutton ' ,...

王正盛 2008-10-20-MATLAB GUI设计-专题讲稿-简单版

21

' Position ' ,[300 205 40 40], ' String ' , ' NOT ' ); >> Hc_1b1 = uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[255 250 85 10], ' Str ' , ' Push Me ' );

z 控件属性

如句柄图形对象建立函数一样,uicontrol属性可在对象建立时定义,或如上所示,用set命令来改变。所有可设定的属性,包括字符串文本、回调串、甚至控制框函数类型都可以用set来改变。本章后面有若干例子。

表2列出了MATLAB 4.2版本中uicontrol对象的属性及其值。带有*的属性为非文件式的,使用时需加小心。由{}括起来的属性值是缺省值。

表.2

Uicontrol 对象属性

BackgroundColor Callback ForegroundColor HorizontalAlignment

uicontrol背景色。3元素的RGB向量或MATLAB一个预先定义的颜色名称。缺省的背景色是浅灰色。

MATLAB回调串,当uicontrol激活时,回调串传给函数eval;初始值为空矩阵。 uicontrol前景(文本)色。3元素的RGB向量或MATLAB一个预先定义的颜色名称。缺省的文本色是黑色。 标志串的水平排列

left:相对于uicontrol文本左对齐 {center}:相对于uicontrol文本居中

right:相对于uicontrol文本右对齐

属性 ' Value ' 的最大许可值。最大值取决于uicontrol的 ' Type ' 当uicontrol处于on状态时,无线按钮及检查框将Value设定为Max;该值定义了弹出式菜单最小下标值或滑标的最大值。当Max-Min>1时,可编辑文本框是多行文本。缺省值为1 属性 ' Value ' 的最小许可值。最小值取决于uicontrol的 ' Type ' uicontrol处于off状态时。无线按钮及检查框将Value设定为Min;该值定义了弹出式菜单最小下标值或滑标的最小值。当Max-Min>1时,可编辑文本框是多行文本。缺省值为0

位置向量[left bottom width height]。其中,[left height]表示相对于图形对象左下角的uicontrol的左下角位置。[widht height]表示uicontrol的尺寸大小,其单位由属性Units确定。 控制框使能状态

{on}:uicontrol使能。激活uicontrol,将Callback字符串传给off:eval

unicntrol不使能,标志串模糊不清。激活unicontrol不起作用

Max

Min

Position

Enable*

王正盛 2008-10-20-MATLAB GUI设计-专题讲稿-简单版 22

String

Style

Units

Value

ButtonDownFcn Children Clipping

DestroyFcn Interrruptible

Parent *Select *Tag Type UserData

文本字符串,在按钮键,无线按钮,检查框和弹出式菜单上指定uicontrol的标志。对于可编辑文本框,该属性设置成由用户输入的字符串。对弹出式菜单或可编辑文本框中多个选项或,每一项用垂直条(|)分隔,整个字符串用引号括起来。框架和滑标,不用引号 定义uicontrol对象的类型

{pushbutton}:按钮键:选择时执行一个动作。

radiobutton:无线按钮键:单独使用时,在两个状态之间切换;成

组使用时,让用户选择一个选项

checkbox:检查框:单独使用时,在两个状态之间切换;成组使

用时,让用户选择一个选项

edit:可编辑框:显示一个字符串并可让用户改变 text:静态文本框:显示一个字符串

slider:滑标:让用户在值域范围内选择一个值。

frame:框架:显示包围一个或几个uicontrol的框架,使其形popumenu:成一个逻辑群。

弹出式菜单 :含有许多互斥的选择的弹出式菜单 位置属性值的单位

inches:英寸 centimeters:厘米

normalized:归一化的坐标值,图形的左下角映射为[0 0]而右上

points:角的映射为为[1 1]

{pixels}:打印设置点,等于1/72 英寸

屏幕的象素。计算机屏幕分辨率的最小单位。

uicontrol的当前值。无线按钮和检查框在 ' on ' 状态时,value设为Max,当是 ' off ' 状态时,value设为Min。由滑标将滑标的value设置为数值(Min≤Value≤Max),弹出式菜单把value值设置所选择选项的下标(1≤Value≤Max)。文本对象和按钮不设置该属性。当uicontrol被选择时,MATLAB回调串传给函数eval。初始值为空矩阵

Uicontrol对象一般无子对象,通常返回空矩阵 限幅模式

{on}:对uicontrol对象无作用效果 off:对uicontrol对象无作用效果

只对Macintosh 4.2 版本。没有文件说明

指定ButtonDownFcn和CallBack串是否可中断

{on}:回调不能由其它回调中断 off:回调串可被中断

包含uicontrol对象的图形句柄 值为[on|off] 文本串

只读对象辩识串,通常为uicontrol

用户指定的数据。可以是矩阵,字符串等等

23

王正盛 2008-10-20-MATLAB GUI设计-专题讲稿-简单版

Visible

uicontrol对象的可视性

{on}:uicontrol对象在屏幕上可见

off:uicontrol对象不可见,但仍然存在

展示:ex3.m

hf=figure('Color',[1,0,0],'Pos',[100,100,500,400],'Name','图形用户界面(GUI)设计教学举例——王正盛制作','NumberTitle','off','MenuBar','none');

pbstart=uicontrol(gcf,'Style','push','Position',[20,20,100,25],'String','请按此按纽','CallBack','warndlg(''This is an example!!!'')');

pbstart=uicontrol(gcf,'Style','push','Position',[140,20,100,25],'String','关闭','CallBack','close');

h_axes=axes('position',[0.05,0.2,0.6,0.6]); t=0:pi/50:2*pi;y=sin(t);plot(t,y); set(h_axes,'xlim',[0,2*pi]);

set(gcf,'defaultuicontrolhorizontal','left'); htitle=title('正弦曲线');

set(gcf,'defaultuicontrolfontsize',12); %设置用户缺省控件字体属性值

uicontrol('style','text',... %创建静态文本框 <13>

'string','正斜体图名:',...

'position',[360,300,100,30],... 'horizontal','left');

hr1=uicontrol(hf,'style','radio',... %创建\ 'string','正体',... %按键功能的文字标识'正体' 'position',[360,280,100,30]); %按键位置

set(hr1,'value',get(hr1,'Max')); %因图名缺省使用正体,所以小圆圈应被点黑 set(hr1,'callback',[... 'set(hr1,''value'',get(hr1,''max'')),',... %选中将小圆圈点黑 'set(hr2,''value'',get(hr2,''min'')),',... %将\ 'set(htitle,''fontangle'',''normal''),',... %使图名字体正体显示 ]); hr2=uicontrol(gcf,'style','radio',... %创建\ 'string','斜体',... %按键功能的文字标识'斜体' 'position',[360,260,100,30],... %按键位置 'callback',[... 'set(hr1,''value'',get(hr1,''min'')),',... 'set(hr2,''value'',get(hr2,''max'')),',... 'set(htitle,''fontangle'',''italic'')',... %使图名字体斜体显示 ]);

王正盛 2008-10-20-MATLAB GUI设计-专题讲稿-简单版

24

ht=uicontrol(gcf,'style','toggle',... %制作双位按键 'string','Grid',...

'position',[360,220,100,30],... 'callback','grid');

htext=uicontrol(gcf,'style','text',... %制作静态说明文本框 'position',[20,370,200,20],...

'string','界面友好!个性体现!');

hslider=uicontrol(gcf,'style','slider',... %创建滑动键 'position',[360,180,100,30],... 'max',2.02,'min',0.02,... %设最大阻尼比为2,最小阻尼比为0.02 'sliderstep',[0.01,0.05],... %箭头操纵滑动步长1%,游标滑动步长5% 'Value',0.5); %缺省取阻尼比等于0.5

hpop=uicontrol(gcf,'style','popup',... %制作弹出菜单 <17>

'position',[360,140,100,30],...

'string','钟宝江|王正盛|牛顿|爱因斯坦'); %设置弹出框中选项名 hlist=uicontrol(gcf,'Style','list',... %制作列表框 'position',[360,50,100,60],...

'string','张三|李四|王五|赵六',...%设置列表框中选项名 'Max',2); %取2,使Max-Min>1,而允许多项选择 hpush=uicontrol(gcf,'Style','push',... %制作与列表框配用的按键 'position',[360,10,100,30],'string','应用');

Ex3.gif

王正盛 2008-10-20-MATLAB GUI设计-专题讲稿-简单版

25

MATLAB_GUI设计-专题讲稿-王正盛

当关闭时,弹出式菜单以矩形或按钮的形式出现,按钮上含有当前选择的标志,在标志右侧有一个向下的箭头或凸起的小方块来表明uicontrol对象是一个弹出式菜单。当指针处在弹出式uicontrol之上并按下鼠标时,出现其它选项。移动指针到不同的选项,松开鼠标就关闭弹出式菜单,显示新的选项。MS-Windows和某些XWindow系统平台允许用户单击弹出式菜单,打开它,而后单击另
推荐度:
点击下载文档文档为doc格式
5vfsp4q39t7z7sh756dx
领取福利

微信扫码领取福利

微信扫码分享