第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.

Slides:



Advertisements
Similar presentations
手工加工全框眼镜技术 前调整确定加工基准制作模板割边 磨边磨安全角 (抛光) 装配 后调整检测.
Advertisements

融资融券业务的保证金与保证金比例 光大证券 · 信用业务管理总部 2015 年 12 月 ★融资融券业务投资者教育活动材料★
道家養生保健長壽藥膳 藥膳應用原則: 天人相應,道法自然 藥膳有兩個職能: 一是保健增壽,一是治療疾病。 ◎ 黃蕙棻.
昆明机场. 目录  机场历史 机场历史  建设状况 建设状况  运行状况 运行状况  航线 航线.
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
第十四章 人口(二) 高中地理(一). 第一節 人口成長 第二節 人口組成 第三節 人口問題 第十四章 人口(二)
第二节 脉搏的评估及异 常时的护理. 教学目标  1 、解释有关名词  2 、说出脉搏、呼吸的正常值  3 、叙述脉搏、呼吸的测量方法;识别脉搏、 呼吸的异常变化  4 、叙述测量脉搏、呼吸的注意事项  5 、正确记录脉搏、呼吸,做到认真负责,实 事求是。
中國歷史 社會主義文化大革命 我們的報告是關於中國著名的革命 —— 文化大革命。你可會立即想到它何時發 生、怎麼會發生等等。我們將會介紹文 化大革命,希望你細心欣賞。
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
党课讲座 入党的条件与程序.
中國大陸教育 督導制度探究 凌林煌教授/博士 講授 國立中山大學共同科歷史學程
项目四、腻子的施工  一、准备工作  二、安全与卫生  三、板件表面的处理  四、准备腻子  五、刮腻子  六、腻子的干燥  七、腻子的打磨  结束.
第四章 教育制度.
金門的特色小吃 ~結合自然與人文的美食之旅~
哮 病.
YP.worldjournal.com 北美最豐富有效的中文商家資訊服務 “你的黃金商機 我的商家指南”
温故知新 犬 戎 公元前 770年 周平王 公元前771年 东周 洛邑 西周 镐京.
個人理財規劃 第八章 投資規劃.
让我们走进秋天.
保育员工作职责.
开天门 梅州市中医医院 郑雪辉.
第一章 教育与教育学 讲授提纲 教育与教育学 思考题目 主讲: 白彦茹(教授) 阅读文献 教学目的与要求 教学重点与难点 退出.
我国政府受人民的监督 权力的行使:需要监督.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
鹽酥蝦 蝦子先處理好 蝦頭剪至眼睛處,鬚及蝦頭的小腳也都剪乾淨 2 再用廚房用剪刀開背去腸泥
第四节 K线图研判技巧.
何谓学龄期 学龄期是指6~7岁入小学起至12~14岁进入青春期为止的一个年龄段。期小儿体格生长仍稳步增长,除生殖系统外其他器官的发育到本期末已接近成人水平。 这个时期发病率较前为低,但要注意预防近视眼和龋齿,矫治慢性病灶,端正坐、立、行姿势,安排有规律的生活、学习和锻炼,保证充足的营养和休息,注意情绪和行为变化,避免思想过度紧张。
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
第三章 儿童少年、女子及 中老年的体育卫生 第一节 儿童少年的体育卫生
考虑随机现金流的投资组合问题的 策略研究与数值分析 项目汇报 负责人:付文豪 指导老师:梁雪 Presentation.
欢迎南京市政治学科的教研同仁 光临指导.
团队介绍 (1)西湖区社区街道挂职社会实践基地 (2)武义、缙云、双浦乡镇挂职社会实践基地 (3)BOX企业实习社会实践基地
旅游资源赏析.
学生学业水平诊断与提升策略探究 平阳中学 周秀丽.
道路交通事故處理.
中等职业学校电子信息类教材(计算机技术专业)
足球運動情報蒐集與分析 趙榮瑞 教授.
講師:賴玉珊 心理師 證照:諮商心理師(諮心字第001495號) 學歷:國立台南大學諮商與輔導研究所 畢 現任:長榮大學諮商中心專任心理師
二、汽化和液化.
第九章 长期资产及摊销 2017/3/21.
字字有詞 詩詩入耳 之 唐詩專題設計.
2006年台灣醫學中心大搜查 聰明病人 完全就醫指南.
高中地理(一) 第十六章 產業(二)林、漁、礦業.
班級:2年2班 座號:33 姓名:羅子惠 指導老師:黃源弘 資料來源:
第七章 人 口 第一節 種族的分布與現況 第二節 人口結構與成長 第三節 人口問題 總目錄.
第三章 文学作为活动.
宗教故事 Back >> 【被逐出樂園】米開朗基羅1508~12年.壁畫
定期定額該積極還是穩健 積極型獲利高,穩健型風險低 財富想倍增,就要選擇波動愈大的積極型基金,愈
关于对新型农村合作医疗制度实行现状的调查
2.4 民主监督—— 守望公共家园.
立體圖形、圖形變換、空間 第十一組 廖芳苓 葉玟孝 林佩君.
視野死角與內輪差 埔心國小交通安全團隊.
第七讲 matlab的程序设计 —— matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。
程式語言 I – VISUAL BASIC 選擇結構語法與應用 Chapter 7 認知
MATLAB 程式設計入門篇 握把式圖形與 GUI 設計
高等視窗程式設計 GUI的使用(Dialog Base) 游子宜.
第八讲 MATLAB图形用 户界面设计.
網路遊戲版 幸福農場168號.
第十讲 刘少奇与中国革命和建设.
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
自然觀察者智慧 報告者:陳志行.
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
單元名稱:結構化程式設計 報告人 劉洲溶.
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
在台灣,有各式各樣的傳統技藝,你知道有哪些嗎?是的,我這次要做的是台灣的民俗藝陣。現在,就讓我和你一起來了解吧!
When using opening and closing presentation slides, use the masterbrand logo at the correct size and in the right position. This slide meets both needs.
景文科技大學學生校外實習訪視暨差旅費核銷說明
Presentation transcript:

第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具

7.1 菜单设计 7.1.1 用户菜单的建立 建立一级菜单项的函数调用形式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 建立子菜单项的函数调用形式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)

7.1.2 菜单对象常用属性 菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性。除公共属性外,还有一些常用的特殊属性。

例7.1建立“图形演示系统”菜单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图7.1所示。其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Figure Color控制图形窗口背景颜色。Quit控制是否退出系统。 程序如下: screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.6*W,0.4*H],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义Plot菜单项 hplot=uimenu(gcf,'Label','&Plot'); uimenu(hplot,'Label','Sine Wave','Call',['t=-pi:pi/20:pi;','plot(t,sin(t));',... 'set(hgon,''Enable'',''on'');','set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');','set(hboff,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',['t=-pi:pi/20:pi;','plot(t,cos(t));',... %定义Option菜单项 hoption=uimenu(gcf,'Label','&Option'); hgon=uimenu(hoption,'Label','&Grig on','Call','grid on','Enable','off'); hgoff=uimenu(hoption,'Label','&Grig off','Call','grid off','Enable','off'); hbon=uimenu(hoption,'Label','&Box on','separator','on','Call','box on','Enable','off'); hboff=uimenu(hoption,'Label','&Box off','Call','box off','Enable','off'); hfigcor=uimenu(hoption,'Label','&Figure Color','Separator','on'); uimenu(hfigcor,'Label','&Red','Accelerator','r','Call','set(gcf,''Color'',''r'');'); uimenu(hfigcor,'Label','&Blue','Accelerator','b','Call','set(gcf,''Color'',''b'');'); uimenu(hfigcor,'Label','&Yellow','Call','set(gcf,''Color'',''y'');'); uimenu(hfigcor,'Label','&White','Call','set(gcf,''Color'',''w'');'); %定义Quit菜单项 uimenu(gcf,'Label','&Quit','Call','close(gcf)');

7.1.3 快捷菜单 在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为: (1)利用uicontextmenu函数建立快捷菜单。 (2)利用uimenu函数为快捷菜单建立菜单项。 (3)利用set函数将该快捷菜单和某图形对象联系起来。

例7.2 绘制曲线y=2e-0.5xsin(2πx),并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); hl=plot(x,y); hc=uicontextmenu; %建立快捷菜单 hls=uimenu(hc,'Label','线型'); %建立菜单项 hlw=uimenu(hc,'Label','线宽'); uimenu(hls,'Label','虚线','Call','set(hl,''LineStyle'','':'');'); uimenu(hls,'Label','实线','Call','set(hl,''LineStyle'',''-'');'); uimenu(hlw,'Label','加宽','Call','set(hl,''LineWidth'',2);'); uimenu(hlw,'Label','变细','Call','set(hl,''LineWidth'',0.5);'); set(hl,'UIContextMenu',hc); %将该快捷菜单和曲线对象联系起来

7.2 对话框设计 7.2.1 对话框的控件 (1)按钮(Push Button)。 (2)双位按钮(Toggle Button)。 (3)单选按钮(Radio Button)。 (4)复选框(Check Box)。 (5)列表框(List Box)。 (6)弹出框(Popup Menu)。 (7)编辑框(Edit Box)。 (8)滑动条(Slider)。 (9)静态文本(Static Text)。 (10)边框(Frame)。

7.2.2 对话框的设计 1. 建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为: 对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。 2. 控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。

hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 例7.3 建立数制转换对话框。在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。 程序如下: hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输 入 框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normalized','Horizontal','center',... 'String','输 出 框','Back',[0,1,1]); uicontrol(hf,'Style','Frame','Position',[0.04,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.6,0.25,0.1],... 'String','十进制数','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.4,0.25,0.1],... 'String','2~16进制','Back',[1,1,0]); he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.4,0.2,0.1],... uicontrol(hf,'Style','Frame','Position',[0.52,0.33,0.45,0.45],... ht=uicontrol(hf,'Style','Text','Position',[0.6,0.5,0.3,0.1],... 'Units','normalized','Horizontal','center','Back',[0,1,0]); COMM=['n=str2num(get(he1,''String''));','b=str2num(get(he2,''String''));',... 'dec=trdec(n,b);','set(ht,''string'',dec);']; uicontrol(hf,'Style','Push','Position',[0.18,0.1,0.2,0.12],... 'String','转 换','Units','normalized','Call',COMM); uicontrol(hf,'Style','Push','Position',[0.65,0.1,0.2,0.12],... 'String','退 出','Units','normalized','Call','close(hf)');

程序调用了trdec.m函数文件,该函数的作用是将任意十进制整数转换为2~16进制字符串。trdec.m函数文件如下: function dec=trdec(n,b) ch1='0123456789ABCDEF'; %十六进制的16个符号 k=1; while n~=0 %不断除某进制基数取余直到商为0 p(k)=rem(n,b); n=fix(n/b); k=k+1; end k=k-1; strdec=''; while k>=1 %形成某进制数的字符串 kb=p(k); strdec=strcat(strdec,ch1(kb+1:kb+1)); dec=strdec;

例7.4 建立图形演示对话框。在编辑框输入绘图命令,单击“绘图”按钮能在左边坐标轴得到所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。 程序如下: clf; set(gcf,'Unit','normalized','Position',[0.2,0.3,0.65,0.35]); set(gcf,'Menubar','none','Name','图形演示','NumberTitle','off'); axes('Position',[0.05,0.15,0.55,0.7]); uicontrol(gcf,'Style','text', 'Unit','normalized',... 'Posi',[0.63,0.85,0.2,0.1],'String','输入绘图命令','Horizontal','center'); hedit=uicontrol(gcf,'Style','edit','Unit','normalized','Posi',[0.63,0.15,0.2,0.68],... 'Max',2); %Max取2,使Max-Min>1,从而允许多行输入 hpopup=uicontrol(gcf,'Style','popup','Unit','normalized',... 'Posi',[0.85,0.8,0.15,0.15],'String','Spring|Summer|Autumn|Winter'); hlist=uicontrol(gcf,'Style','list','Unit','normalized',... 'Posi',[0.85,0.55,0.15,0.25],'String','Grid on|Grid off|Box on|Box off'); hpush1=uicontrol(gcf,'Style','push','Unit','normalized',... 'Posi',[0.85,0.35,0.15,0.15],'String','绘 图'); uicontrol(gcf,'Style','push','Unit','normalized',... 'Posi',[0.85,0.15,0.15,0.15],'String','关 闭','Call','close all'); set(hpush1,'Call','COMM(hedit,hpopup,hlist)'); set(hlist,'Call','COMM(hedit,hpopup,hlist)'); set(hpopup,'Call','COMM(hedit,hpopup,hlist)'); COMM.m函数文件: function COMM(hedit,hpopup,hlist) com=get(hedit,'String'); n1=get(hpopup,'Value'); n2=get(hlist,'Value'); if ~isempty(com) %编辑框输入非空时 eval(com'); %执行从编辑框输入的命令 chpop={'spring','summer','autumn','winter'}; chlist={'grid on','grid off','box on','box off'}; colormap(eval(chpop{n1})); eval(chlist{n2}); end

7.3 用户界面设计工具 7.3.1 图形界面控制面板 7.3.2 属性编辑器 7.3.3 事件过程编辑器 7.3.4 菜单编辑器 7.4.5 位置调整工具

例7.5 利用界面设计工具设计用户界面。具体要求是: (1)在编辑框输入形成数据z的命令,然后选择三个按钮中的一个,即可绘制出z的图形。 (2)选择弹出框中的某个色图,能及时地更改绘图的颜色。 (3)在图形窗口缺省的菜单条上添加一个菜单项Options,Options下又有两个子菜单项White和Red,选中White项时,图形窗口将变成白色,选中Red项时,图形窗口将变成红色。 操作步骤如下: (1)打开图形界面控制面板,添加有关图形对象。 (2)利用属性编辑器,设置图形对象的属性。 (3)添加Options菜单项。