图形界面编程.pptx
《图形界面编程.pptx》由会员分享,可在线阅读,更多相关《图形界面编程.pptx(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(2)创建输入对话框inputdlga)answer=inputdlg(prompt)b)answer=inputdlg(prompt,title)c)answer=inputdlg(prompt,title,lineNo)d)answer=inputdlg(prompt,title,lineNo,defAns)e)answer=inputdlg(prompt,title,lineNo,defAns,Resize)对应描述:prompt是一个包含提示字符串的数组。a)创建一个模式对话框并返回用户在数组中输入的内容b)title为对话框指定一个标题c)lineNo为用户的每个输入值指定输入的行数
2、,可以是标量、列向量或矩阵。列向量为一个提示符指定输入的行数;矩阵是m*2矩阵,其中m是对话框中提示符的个数,矩阵的第一列为指定输入的行数;第二列指定字符的域宽。d)defAns指定每个提示符的默认值e)Resize说明对话框是否改变尺寸,取值on和off。第1页/共82页 例ans=inputdlg(请输入题号(1-10),输入0退出,Matlab zuoye)例pp=a=?,b=?ans=inputdlg(pp,Input Param)第2页/共82页例inputdlg(AAAAAAA)inputdlg(AAAAAAA,inputdialog)inputdlg(AAAAAAA,inputd
3、ialog,2)inputdlg(AAAAAAA,inputdialog,1,OOOOOOOO)inputdlg(AAAAAAA,inputdialog,1,OOOOOOOO,on)Cellarray例创建输入一个整数和色图名称的对话框,每行只允许输入一行。prompt=EnterMatrixsize,Entercolomapname;title=Inputdataforpeaksfunction;lines=1;def=20,hsv;answer=inputdlg(prompt,title,lines,def)第3页/共82页(3)创建消息对话框msgboxa)msgbox(message)
4、b)msgbox(message,title)c)msgbox(message,title,icon)d)msgbox(message,title,custom,iconData,iconCmap)e)msgbox(.,createMode)f)h=msgbox(.)对应描述:a)产生一个消息对话框b)title为消息对话框指定标题c)Icon指定在消息对话框中显示哪一个图标.icon可以是none、error、help、warn、customd)定义一个用户定制的图标。iconData包含着定义图标的图形数据;iconCmap是图形所用的色图e)指定消息框是否为模式化的,如果是非模式化的,是
5、否要取代其它有同样标题的消息框。createMode取modal、non-modal和replacef)返回一个对话框的句柄h,它是一个图形对象的句柄。第4页/共82页Note:消息对话中的消息自动换行来适应具有适当尺寸的图框。Message是一个字符串向量、字符串矩阵或数组。例mess=Inputdlghelp,Listdlghelp;Msgboxhelp,.Pagedlghelpmsgbox(mess,MyDialogHelp,help)mess=Inputdlg help Listdlg help Msgbox help Pagedlg help第5页/共82页(4)创建错误对话框err
6、ordlga)errorelgb)errorelg(eerrorstring)c)errorelg(eerrorstring,dlgname)d)errorelg(eerrorstring,dlgname,on)e)h=errordlg(.)相应描述:a)显示一个包含字符串”Thisisthedefaulterrorstring”的名为”ErrorDialog”的对话框b)显示一个包含字符串”errorstring”的名为”ErrorDialog”的对话框;c)显示一个包含字符串”errorstring”的名”dlgname”的对话框d)指定是否取代一个已经存在的有相同名字的对话框。on表示把
7、一个有相同名字的出错对话框提在前台;e)返回一个错误对话框句柄。第6页/共82页Note:MATLAB自动改变对话框的大小来适应字符串errorstring的长度.例errordlgerrordlg(File not found)errordlg(File not found,File Error)errordlg(File not found,File Error,on)第7页/共82页(5)创建问题对话框questdlgnbutton=questdlg(qstring)打开问题提示对话框,有三个按钮,分别为:yes,no和cancel,questdlg确定提示信息。nbutton=ques
8、tdlg(qstring,title)title确定对话框标题。nbutton=questdlg(qstringtitle,default)当按回车键时,返回default值,default必须是yes,no或cancel之一。nbutton=questdlg(qstring,title,str1,str2,default)打开问题提示对话框,有两个按钮,分别由str1和str2确定,qstdlg确定提示信息,default必须是str1或str2之一。nbutton=questdlg(qstring,title,str1,str2,str3,default)打开问题提示对话框,有三个按钮,分
9、别由str1,str2和str3确定,qstdlg确定提示信息,default必须是str1,str2或str3之一。第8页/共82页例 生成一个问询对话框,询问用户是否继续一个假定的操作。button=questdlg(Doyouwanttocontinue?,ContinueOperation,Yes,No,Help,No)ifstrcmp(button,Yes)disp(Creatingfile)elseifstrcmp(button,No)disp(Canceledfileoperation)elseifstrcmp(button,Help)disp(Sorry,nohelp)end第
10、9页/共82页(6)创建警告对话框warndlgh=warndlg(warningstring,dlgname)打开警告信息对话框,显示warningstring信息,dlgname确定对话框标题,h为返回对话句柄。例warndlg(PressingOKwillclearMemory,.Warning!)第10页/共82页(7)显示帮助对话框helpdlghelpdlghelpdlg(helpstring)helpdlg(helpstring,dlgname)h=helpdlg(.)Note:MATLAB将helpstring中的内容自动换行来适应一个对话框的长度。例helpdlghelpdl
11、g(you can select 10 points from figure)helpdlg(you can select 10 points from figure,.points selection)第11页/共82页(8)创建选择列表内容的对话框listdlgSelection,ok=listdlg(ListString,S,.)其中,nSelection是已经选择的字符串的索引向量;在只有一个选项的模式下,它的长度为1;当点击OK按钮时,ok=1;当点击Cancel按钮时,ok=0;当ok=0时,Selection=;对话框还有一个Selectall按钮。n输入参数和其值的形式列表如下
12、:第12页/共82页参数参数描述描述 ListString指定列表选框的字符串数组指定列表选框的字符串数组 SelectionMode 值为值为sigle或或multiple ListSize用像素来衡量尺寸,用像素来衡量尺寸,w h,160 30 InitialValue最初被选择的列表框选项的索引向量,默认值最初被选择的列表框选项的索引向量,默认值为为1,即第一项,即第一项 Name对话框标题名称对话框标题名称 PromptString在列表框上部的正文中出现的字符串的数组或在列表框上部的正文中出现的字符串的数组或矩阵。默认值为矩阵。默认值为 OKStringOK按钮上的字符串,默认为按钮
13、上的字符串,默认为OK CancelStringCancel按钮上的字符串,默认为按钮上的字符串,默认为Cancel uh用户界面控制按钮的高度,用用户界面控制按钮的高度,用pixel表示表示,18 fus框架和用户截面控制按钮的间隔,框架和用户截面控制按钮的间隔,pixel,18 ffs框架数字的间隔框架数字的间隔,pixel,8第13页/共82页例创建用户从当前目录中选一个文件的对话框。函数将返回一个向量,该向量的第一个元素是被选文件的索引,第二个元素在没有做选择时为0,做了选择后为1。d=dir;str=d.names,v=listdlg(PromptString,Selectafile
14、:,.SelectionMode,single,ListString,str)第14页/共82页例 创建一个自己的列表对话框str=AAAAAA,BBBBBBB,CCCCCCC,DDDDDDD;s,v=listdlg(ListString,str,SelectionMode,multiple,.ListSize,200,100,Name,MyListDialog,.PromptString,Pleaseselectfollowoptions,ffs,18)MATLAB第15页/共82页(9)创建显示页面的版面对话框pagedlga)pagesetupdlgb)pagesetupdlg(fig)
15、对应描述a)对当前图形显示一个页面的版面对话框,使用户可以进行页面设置b)对由fig指定的图形显示一个页面设置对话框例figurex=0:pi/100:2*pi;y=sin(x);plot(x,y)pagesetupdlg第16页/共82页第17页/共82页(10)创建显示打印对话框printdlga)printdlgb)printdlg(fig)c)printdlg(-crossplatform,fig)对应描述a)打印当前的图形b)生成一个对话框,由此用户可以打印句柄fig指定的图形窗口。但该命令不能打印用户菜单c)对微软的Windows操作系统显示一种标准的交叉平台式的MATLAB打印对
16、话框。第18页/共82页例t=0:pi/100:2*pi;y=sin(x);plot(x,y)printdlg第19页/共82页(11)进程条nh=waitbar(x,title)显示以title为标题的进程条,x为进程条的比例长度,其值必须在0到1之间,h为返回的进程条对象的句柄。nwaitbar(x,title,creatcancelbtn,button_callback)在进程条上使用creatcancelbtn参数创建一个撤销按钮,在进程中按下撤销按钮将调用button_callback函数。nwaitbar(.,property_name,property_value,.)选择其它由
17、prompt_name定义的参数,参数值由prompt_value指定。第20页/共82页例clch=waitbar(0,pleasewait.);pause;%暂停,击任一键继续fori=1:1000waitbar(i/1000,h,MyProcess.)endclose(h)第21页/共82页(12)打开文件对话框uigetfilenuigetfile显示一个用于检索一个文件的对话框,列出了当前目前中的文件和目录。nuigetfile(FilterSpec)FilterSpec确定最先显示的文章,它可以用通配符*。nuigetfile(FilterSpec,DialogTitle)nuig
18、etfile(FilterSpec,DialogTitle,x,y)把对话框定位在x,y,这里x和y是距左边界和上边界的距离,以像素为单位。nfname,pname=uigetfile(.)返回在对话框中选择的文件的名称和路径。fname保存被选中的文件的名称,pname保存路径。第22页/共82页例列出选定目录中的所有.m文件fname,pname=uigetfile(C:DocumentsandSettingsyfzxMyDocumentsMATLAB*.m,SampleDialogBox)fname=example5_24.mpname=C:DocumentsandSettingsyfz
19、xMyDocumentsMATLAB第23页/共82页(13)保存文件对话框uiputfilenuiputfile显示一个中写入文件名的对话框,列出了当前目前中的文件和目录。nuiputfile(InitFile)显示的对话框包含当前路径中由InitFile确定的文件的列表。InitFile可以是一个文件的全名,也可以包含通配符*。nuiputfile(InitFile,DialogTitle)nuiputfile(InitFile,DialogTitle,x,y)把对话框定位在x,y,这里x和y是距左边界和上边界的距离,以像素为单位。nfname,pname=uiputfile(.)返回在对
20、话框中选择的文件的名称和路径。fname保存被选中的文件的名称,pname保存路径。第24页/共82页例显示一个标题为SaveFilename,文件名为aaa.m的对话框。fname,pname=uiputfile(aaa.m,SaveFilename)fname=aaa.mpname=C:Documents and Settingsyfzx桌面第25页/共82页(14)弹出式菜单函数menu K=MENU(HEADER,ITEM1,ITEM2,.)例:K=menu(请选择,plot,mesh,surf)第26页/共82页二、图形界面设计是指由窗口、菜单、对话框等各种图形元素组成的用户界面。u
21、在MATLAB中,基本的图形界面对象包含3类:用户界面控件对象(uicontrol)下拉式菜单对象(uimenu)快捷菜单对象(uicontextmenu)第27页/共82页1 建立用户菜单要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。建立一级菜单项的函数调用格式为:一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,.)建立子菜单项的函数调用格式为:子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,.)第28页/共82页两种调用格式的区别建立一级菜单项时,要给出图形窗口句柄。否则
22、,在当前窗口中建立菜单项。如果没有活动窗口,则会自动打开一个图形窗口;建立子菜单项时,必须指定一级菜单项对应的句柄值。菜单项的句柄子菜单项Save的句柄子菜单项SaveAs的句柄例:hm=uimenu(gcf,Label,File);hm1=uimenu(hm,Label,Save)hm2=uimenu(hm,Label,SaveAs)第29页/共82页例 建立用户菜单项h=figure(Name,图形界面窗口,NumberTitle,off,MenuBar,none)hm=uimenu(h,Label,文件);hm1=uimenu(hm,Label,保存)hm2=uimenu(hm,Labe
23、l,另存为)hm3=uimenu(hm,Label,退出)第30页/共82页菜单对象常用属性菜单对象具有Children,Parent,Tag,UserData,Visible等公共属性,除公共属性外,还有一些常用的特殊属性,见下表所示:%hm3=uimenu(hm,Label,退出,callback,close)hm3=uimenu(hm,Label,&Quit,Accelerator,Q,callback,close,Separator,on)快捷键设置第31页/共82页属性名属性名属性值及作用属性值及作用Label取值取值字符串字符串,用于定义菜单项的名字用于定义菜单项的名字.可以在字符
24、可以在字符串中加串中加(&)-对应于下划线对应于下划线,可用可用Alt激活激活Accelerator 取值任何字母取值任何字母,用于定义菜单的快捷键用于定义菜单的快捷键Callback取值字符串取值字符串,可以是某个可以是某个M文件的文件名或一组文件的文件名或一组Matlab命令命令.该菜单被选中后该菜单被选中后,自动调用此回调函数自动调用此回调函数.Checked取值取值on或或off,为菜单项定义一个标记为菜单项定义一个标记,指明菜单指明菜单项是否被选中项是否被选中Enable取值取值on或或off,控制菜单项的可选择性控制菜单项的可选择性.不可用时不可用时,该菜单呈现灰色该菜单呈现灰色.
25、Position定义一级菜单在菜单栏上的相对位置或子菜单项定义一级菜单在菜单栏上的相对位置或子菜单项在菜单组内的相对位置在菜单组内的相对位置.默认为默认为1-最左端最左端Separator取值为取值为on或或off.可以用分隔线将将各菜单项分开可以用分隔线将将各菜单项分开.第32页/共82页例建立图形演示系统菜单,菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有SineWave和CosineWave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容.,其中Gridon和Gridoff控制给坐标轴加网格线,Boxon和Boxoff控制给坐标轴加边
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形界面 编程
限制150内