您的位置 首页 汽车

Matlab GUI编程总结

1创建及初始化界面(Figure)SystemFrameHandle=figure(1);%创建一个窗口clfresetset(gcf,39;name39;,39;CSplatformNUPT39;,

1.创立及初始化界面(Figure)

SystemFrameHandle=figure(1);%创立一个窗口

clfreset

set(gcf,name,CSplatform NUPT,numbertitle,off,…

unit,normalized,position,[0.02,0.1,0.92,0.82],…

menubar,none);

阐明:榜首句是新创立一个窗口,而且记载窗口的句柄。第二句话是铲除和重置相关的窗口及图形信息。第三句是设置gcf的特点。特点的格局是:先<特点名>,后紧接着是特点的<值>。其间gcf:Get handle to current figure.也便是取得当时窗口的句柄。窗口的特点许多,详细能够参看matlab协助文档。http://www.mathworks.cn/help/techdoc/ref/figure_props.html;jsessionid=b1a1b2c452f8eed5976059921483

2.菜单(uimenu)

menu_file=uimenu(gcf,Label,File(&F));

menu_open_image=uimenu(menu_file,Label,Open Images(&O));

阐明:上述句子创立了2个菜单项。其间,第二个菜单项是榜首个菜单项的子项。因而,咱们能够看出,菜单的创立有2中办法:

handle = uimenu(PropertyName,PropertyValue,…)
handle = uimenu(parent,PropertyName,PropertyValue,…)

uimenu的特点和uicontrol的特点相同,详细看第三节

3.控件(uicontrol)

控件的创立有如下2中办法

handle =uicontrol(PropertyName,PropertyValue,…)
handle = uicontrol(parent,PropertyName,PropertyValue)

详细是创立哪个类型的控件,控件的特点等,都有<特点>及其<值>决议。

部分特点解析:

1 ‘BakcgroundColor(布景色彩)—ColorSpec(特定的色彩).这个特点声明晰用来填充uicontrol目标的布景色彩,ColorSpec是一个三元素的RGB 向量或许规范色彩的字符串号,默许的色彩值是和体系相关的,而且能够经过输入指令 get(0,DefaultUuicontrolBackgroundColor)取得。该<值>的格局为[0.10.1 0.1];其间,三个值别离代表红、绿、蓝。值的规模0~1
2 ‘Callback(回来,回调)—-string(字符串)。这个特点声明晰当用户触发uicontrol目标(如:在按下一个pushbutton或许拖动一个 slider)时分所履行的字符串(一般为函数名),frame 和静态的textuicontrol类型不宣布回调。更确切的说,callback便是设置控件的音讯呼应处理函数。
3 ‘CData–m-by-n-by-3array( 矩阵)这个特点是一个在pushbutton或fogglebuttonuicontrol类型上显现的真彩色图画。
4 ‘Enable—{‘on} (默许状况)|‘inactive(静态)|off(关)这个特点声明晰是否启用这个uicontrol目标,当设置为on的时分,在这个 uicontrol被选中的时分,履行这个回调字符串,当设置为off的时分,这个uicontrol标签字符串就变暗。当设置为 inactive 的时分,uicontrol没有被变暗,当设置为off和inactive的时分,不履行这个回调字符串,可是ButtonDownFcn特点仍是会起作用。
5 ‘Extent(宽度,长度)—[0 0 width heigth],这个特点是一个只读特点,它回来用来标识这个uicontrol所运用的文本字符串的巨细,其格局为规范的直角坐标格局,单位为 Units特点所声明的单位,这个特点可用于确认装载所希望标签字符串而需求的uicontrol的巨细。
6 ‘FontAngle(字体倾斜度)—{‘normal}|italic(斜体的)|oblique(斜的,歪的)这个特点声明晰所用的字符的倾斜度。
7 ‘FontName(字体)—string这个特点声明晰所运用的字体类型,运用FixedWidth就将字体设置为保存在根目标的FixedWidthFontName特点中的字体。
8 ‘FontSize(字体巨细)—number(数字),声明晰字体的巨细,单位为FontUnits特点所声明的单位。‘FontUnits— {‘points(点)}|normalized|inches(英寸)|centimeters(厘米)|pixels(图素)这个特点声明晰字体相关于这个高度的巨细运用的单位,设定为normalize是指uicontrol的高度为1.
9 ‘FontWeight(字体粗细)—light|{‘normal}|demi(半)|boid
10 ‘ForegroundColor(前景色)—ColorSpec(色值)声明晰uicontrol的标签文本的色彩,ColorSpec是一个三元素的RGB向量,或许是一个规范色彩的字符串名,默许值为黑色。
11‘HorizontalAlignment(水平方向上的对齐办法)—{‘left}(左)|center(中)|right(右)这个特点声明晰uicontrol在水平方向上的对齐办法,在windowspc机上,这个特点只影响到edit和text类型的uicontrol.
12 ‘ListboxTop—scalar,对listbox类型的uicontrol,这个特点声明晰显现在列表最顶端的字符串的索引。
13 ‘Max(最大)—scalar(比列),关于radiobutton和checkbox类型的uicontrol,Max是uicontrol为on时Value 特点的值,关于slider类型的uicontrol,‘Max是用户能够挑选的最大值,而且它有必要比Min特点所声明的值要大,默许值为1,关于edit 类型的uicontrol,假如Max-‘Min>1,那么就能够进行多项挑选,假如Max-‘Min<=1,那么就只能够进行单项挑选。
14 ‘Min—scalar相似13
15 ‘Position(方位)—[left(左) bottom(底) width(宽) heigh(高)]它声明晰uicontrol的方位,格局为相关于图形窗口左下角的规范直角坐标格局,单位为Units特点所界说的单位,windowspc中‘popupmenu类型的uicontrol的高度是由字体来设置的,而且将heigth 疏忽。
16 ‘SliderStep(滚动条步长)—[arrow_step trough_step]这个特点声明晰一个值,这个值是经过标定的Max-Min ,巨细在0到1间,arrow-step是点滚动条上的箭头时滚动条移动的步长, trough_step是点滚动条的滑槽时滚动条移动的步长。
17 ‘String— string这个特点声明晰显现在按钮,拨动按钮,静态文本,弹出菜单上的uicontrol标签字符串,弹出菜单中的多个菜单项或许列表中的多个列表项能够声明为字符串单元数组,字符串矩阵或许由竖线字符分隔的字符串,多行可修正文本或许静态文本控件中的行分隔符号出现在字符串矩阵的各行之间或许字符串单元数组的每一个单元之间,竖线字符未被解说成线分隔符,在edit类型的uicontrol中,经过修正的文本能够经过这个特点回来。
18.‘Style(类型)—‘pushbutton(按钮键)|togglebutton(触发器)|radiobutton(无线按钮)|chechbox(查看框)|edit(修正)|text(文本)|slider(滑标)|frame(框)|listbox(列表)|popupmenu(跃上型)这个特点声明晰要生成的uicontrol目标类型

19.’Visible’(可见)——该特点默许值为‘on’,当该值设置成’off’时,该控件不行见。经过操控控件的显现与不显现,能够完结‘改写’界面的功用。

4.设置和获取特点(set and get)

Set(handle,PropertyName,PropertyValue,…)

PropertyValue=Get(handle, PropertyName);

上述是设置和取得特点的调用语法。无论是窗口、菜单仍是控件,都能够经过set修正其特点,也能够经过get获取其特点。重要的是,一定要取得它们的句柄(handle),因而,在创立窗口、菜单和控件时,要保存它们的句柄。

Callback函数:在控件的回调函数中,咱们能够经过取得或设置相应控件上的值,来到达咱们的意图。因而,咱们能够将句柄经过参数的办法或声明为全局变量,以到达在其他函数中设置获取控件的特点。

5.特定区域显现图画

咱们能够用subplot函数,将界面分红许多份,然后挑选其间一份显现图画。可是,当咱们的界面杂乱时,咱们需求在特定的区域内显现图画。咱们能够选用如下办法:

NewImageShowHandle=axes(Units,normalized,…

position,[0.60.52 .3 .4],Color,[0.2 0.2 0.2],Visible,off,Parent,SystemFrameHandle);

imshow(uint8(reconstructed_image),Parent,NewImageShowHandle);

也便是:先在特定的方位新建一个坐标(axes),然后在imshow函数中,设置显现图画的‘父窗口’即可。

6.界面的改写

一般情况下,不存在界面改写的问题。可是,当咱们需求在程序运转的过程中更新界面的某一个控件,咱们就需求实时改写界面。一般情况下,由于matlab在运转程序时,履行的是主线程,由于界面线程的优先级低于主线程,界面线程要比及主线程履行完之后才履行。可是,咱们能够调用pause(0.000001) 函数,让主线程暂停0.000001秒,改写界面后再去履行主线程。基于此,我编写了一个‘进展提示’控件。详见示例代码。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/317198.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部