版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MATLAB圖形界面中各對象關(guān)系根對象root圖形窗口對象figure右鍵菜單對象uicontextmenu菜單對象uimenu控件對象uicontrol坐標(biāo)軸對象axes線對象line文字對象text表面圖對象surface圖像對象image光源對象light第1頁/共48頁第一頁,編輯于星期六:六點 五十三分。 兩種界面創(chuàng)建方式: 交互式工具創(chuàng)建 命令創(chuàng)建界面第2頁/共48頁第二頁,編輯于星期六:六點 五十三分。1、窗口對象及其屬性設(shè)定 1.1 窗口對象的建立 hwin=figure(屬性1,屬性值1,屬性2,屬性值2,) hwin為圖形窗口的句柄,matlab環(huán)境允許打開多個窗口,每個窗
2、口都對應(yīng)自己的句柄,通過該句柄可以進一步對窗口的屬性等進行操作。 hwin=gcf 獲得當(dāng)前窗口的句柄。第3頁/共48頁第三頁,編輯于星期六:六點 五十三分。1.2 圖形窗口的屬性第4頁/共48頁第四頁,編輯于星期六:六點 五十三分。 常用屬性 color屬性 由紅綠藍三原色組成,取值范圍為0到1。 menubar屬性 設(shè)置菜單條的形式。 MenuBarMenuBar屬性的取值可以是figure(figure(缺省值) )或nonenone。 用來控制圖形窗口是否應(yīng)該具有菜單條。如果它的屬性值為nonenone,則表示該圖形窗口沒有菜單條。這時用戶可以根據(jù)后面將介紹的uimenu()uimen
3、u()函數(shù)來加入自己的菜單條,如果屬性值為figurefigure,則該窗口將保持圖形窗口默認的菜單條,這時也可以采用uimenu()uimenu()函數(shù)在原默認的圖形窗口菜單后面添加新的菜單項。 name屬性 設(shè)置圖形窗口的標(biāo)題欄中標(biāo)題內(nèi)容,其屬性值為一字符串。 numbertitle屬性 是否顯示圖形窗口標(biāo)題欄中的圖形標(biāo)號。Name屬性的取值可以是任何字符串,它的缺省值為空。這個字符串作為圖形窗口的標(biāo)題。一般情況下,其標(biāo)題形式為:“Figure 1:字符串。 units屬性 設(shè)定圖形單位。如:pixels(象素點)、inches(英寸)、centimeters(厘米)、normalized
4、(歸一值)等第5頁/共48頁第五頁,編輯于星期六:六點 五十三分。 position屬性 設(shè)定窗口的位置和大小,為14向量,前兩個值為窗口左下角橫縱坐標(biāo)值,后兩個元素值為窗口的寬度和高度,其單位由units屬性設(shè)定。 resize屬性 確定是否可以改變圖形窗口的大小。 toolbar屬性 是否顯示工具條。 visible屬性 決定窗口是否為可見。 Pointer屬性 設(shè)置鼠標(biāo)的顯示形式。 第6頁/共48頁第六頁,編輯于星期六:六點 五十三分?;卣{(diào)函數(shù)(callback function) 一旦某一對象指定的事件發(fā)生,將自動調(diào)用某指定的函數(shù),它可以是matlab文件,也可以是一組matlab程序
5、。 CloseRequestFcn關(guān)閉窗口時響應(yīng)函數(shù) KeyPressFcn鍵盤按下時響應(yīng)函數(shù) windowButtonDownFcn-鼠標(biāo)按下時響應(yīng)函數(shù) WindowButtonMotionFcn-鼠標(biāo)移動時響應(yīng)函數(shù) CreateFcn和DeleteFcn-建立和刪除對象時響應(yīng)函數(shù) CallBack-對象被選中時響應(yīng)函數(shù) 第7頁/共48頁第七頁,編輯于星期六:六點 五十三分。實例:gwin=figure(visible,off);pauseset(gwin,color,1,0,0,position,100,200,300,300,.name,My program,numbertitle,of
6、f,menubar,none);set(gwin,visible,on)set(gwin,windowbuttondownfcn,helpdlg(mouse button down!)set(gwin,keypressfcn,helpdlg(keyboard pressed!)第8頁/共48頁第八頁,編輯于星期六:六點 五十三分。例1 建立一個圖形窗口。該圖形窗口沒有菜單條,標(biāo)題名稱為“我的圖形窗口”,起始于屏幕左下角、寬度和高度分別為450像素點和260像素點,背景顏色為綠色,且當(dāng)用戶從鍵盤按下任意一個鍵時,將在該圖形窗口繪制出正弦曲線,點擊鼠標(biāo)時繪制余弦曲線。hf=figure(Color
7、,0,1,0,Position,1,1,450,260,. Name,我的圖形窗口,NumberTitle,on,MenuBar,none,. KeyPressFcn,plot(sin(0:0.01:2*pi),WindowButtonDownFcn,plot(cos(0:0.1:2*pi),r*); 第9頁/共48頁第九頁,編輯于星期六:六點 五十三分。1.3 標(biāo)準(zhǔn)對話框及其調(diào)用 1. 文件名操作函數(shù) uigetfile() 函數(shù)打開一個文件進行讀、寫的對話框。 fname,pname=uigetfile(ffilter,strtitle,x,y) ffilter為文件名過濾器;strtil
8、tle為對話框窗口標(biāo)題欄的顯示內(nèi)容;x、y為對話框出現(xiàn)的位置,省略則采用默認位置。返回文件名字和路徑第10頁/共48頁第十頁,編輯于星期六:六點 五十三分。f,p=uigetfile(*.m;*.txt,請選擇一個文件)f =fileprint.mp =E:MATLABR11work第11頁/共48頁第十一頁,編輯于星期六:六點 五十三分。 2. 顏色設(shè)置對話框 c=uisetcolor; 或 c=uisetcolor(c0); 函數(shù)返回一個13的顏色向量,分別對應(yīng)紅、綠、藍三原色,按下“取消”按鈕后返回空的向量;如果給出向量c0,則在圖中指向c0所定義的顏色位置,且按下“取消”按鈕時返回c0
9、的值。第12頁/共48頁第十二頁,編輯于星期六:六點 五十三分。 3.字體設(shè)置對話框 h_Font=uisetfont 或 h_Font=uisetfont(h_Text,strTitle) h_Font為字體屬性的結(jié)構(gòu)體;h_Text為要設(shè)置的字符句柄,strTitle為對話框的標(biāo)題欄內(nèi)容。s=uisetfonts = FontName: 楷體_GB2312 FontUnits: points FontSize: 42 FontWeight: bold FontAngle: normal第13頁/共48頁第十三頁,編輯于星期六:六點 五十三分。 4. 警告與錯誤信息對話框warndlg和 e
10、rrordlg函數(shù),格式: warndlg(警告信息,對話框名字) errordlg(錯誤信息,對話框名字) 二者的顯示圖標(biāo)不同。 例:h=warndlg(error:,code1111.,Warning)h=errordlg(error:,code 1111.,Error) 第14頁/共48頁第十四頁,編輯于星期六:六點 五十三分。 5. 幫助信息對話框 與警告、錯誤信息對話框基本一致,僅僅是圖標(biāo)的不同。 例: h=helpdlg(幫助信息:,幫助信息對話框和警告錯誤對話框基本一致,只是圖標(biāo)不同!,幫助)第15頁/共48頁第十五頁,編輯于星期六:六點 五十三分。 6.通用信息框 msgbox
11、(顯示信息,標(biāo)題,圖標(biāo)) 圖標(biāo)包括:Error、Help、Warn以及Custom,如果缺省則為None。data=1:64;data=(data*data)/64;msgbox(This is an example of msgbox!,custom ico,custom,data,hot(64)第16頁/共48頁第十六頁,編輯于星期六:六點 五十三分。1.4 Matlab圖形界面基本控件 1. 常用控件靜態(tài)文本static text 一般用來作為信息提示用。編輯框edit text 讀取用戶數(shù)據(jù)的文字窗口。面板 panel 概括一組控件,也可以修飾用。列表框listbox 包含多個選項供用
12、戶選擇。第17頁/共48頁第十七頁,編輯于星期六:六點 五十三分。滾動條slider 圖示某個范圍。按鈕pushbutton 其上的字符說明其作用。切換按鈕toggle button 兩狀態(tài)按鈕,單擊改變其狀態(tài)。收音機按鈕radiobutton 一組選項,其中只能有一個被選中。復(fù)選框check button 一組選項,可以選擇多項。彈出式菜單popupmenu 選中時打開一個列表。第18頁/共48頁第十八頁,編輯于星期六:六點 五十三分。2.2 控件對象的屬性 控件對象的屬性分為兩大類: 第一類是所有控件對象都具有的公共屬性 第二類是把控件對象作為圖形對象所具有的專有特性第19頁/共48頁第十
13、九頁,編輯于星期六:六點 五十三分。(1) 公共屬性 對象常用的公共屬性: Children屬性: 取值為空陣,控件對象沒有子對象 Parent屬性:某個圖形窗口的句柄值 Tag屬性:取值為字符串,定義了該控件的一個標(biāo)識值,所有 程序通過標(biāo)識值來找出控件對象 Type屬性 :取值總是uicontrol,表明圖形對象的類型 UserData屬性: 一個矩陣,可以在此屬性保存與該控件對象相 關(guān)的重要數(shù)據(jù)或信息,借此傳遞數(shù)據(jù)或信息 Visible屬性: 可視化與否 第20頁/共48頁第二十頁,編輯于星期六:六點 五十三分。2.控件的常用屬性Units與 position屬性 意義同上,這里的位置是相
14、對該窗口的左下角;String屬性 標(biāo)注在控件上,用來說明或提示;Callback屬性 實現(xiàn)該控件的實質(zhì)性功能;Enable屬性 該控件的使能狀態(tài)on或off tag 屬性 同上 第21頁/共48頁第二十一頁,編輯于星期六:六點 五十三分。 例1:h_main=figure(name,a demo of gui design,menubar,none, numbertitle,off,position,100 100 300 100);h_edit=uicontrol(style,edit,backgroundcolor,1 1 1,position,20 20 50 20,. tag,mye
15、dit,string,1,horizontalalignment,left);h_but1=uicontrol(style,pushbutton,position,20 50 50 20,string,INC,. callback,v=eval(get(h_edit,string);,. set(h_edit,string,int2str(v+1););h_but2=uicontrol(style,pushbutton,position,80 50 50 20,string,DEC,. callback,v=eval(get(h_edit,string);,set(h_edit,string,
16、int2str(v-1););第22頁/共48頁第二十二頁,編輯于星期六:六點 五十三分。設(shè)計為函數(shù)文件:function gui_counter1()%gui_counter is a demo of gui design.h_main=figure(name,a demo of gui design,menubar,none,. numbertitle,off,position,100 100 300 100);h_edit=uicontrol(style,edit,backgroundcolor,1 1 1,position,20 20 50 20,. tag,myedit,string
17、,1,horizontalalignment,left);h_but1=uicontrol(style,pushbutton,position,20 50 50 20,string,INC,. callback,h=findobj(gcf,tag,myedit);,v=eval(get(h,string);,. set(h,string,int2str(v+1););h_but2=uicontrol(style,pushbutton,position,80 50 50 20,string,DEC,. callback,h=findobj(gcf,tag,myedit);,v=eval(get(
18、h,string);,. set(h,string,int2str(v-1););第23頁/共48頁第二十三頁,編輯于星期六:六點 五十三分。 例2function gui_demo()%GUI_demo is another demo of GUI design.h_main=figure(units,normalized,position,0.3 0.3 0.5 0.4,. name,GUI demostration,numbertitle,off);h_axis=axes(units,normalized,position,0.3 0.15 0.6 0.7,. tag,axplot,xl
19、im,0 10,ylim,-1 1);t=0:0.1:10;y=sin(t);line(t,y);bmp1=imread(1.bmp);bmp2=imread(2.bmp);bmp3=imread(3.bmp);bmp4=imread(4.bmp);h_1=uicontrol(style,pushbutton,units,normalized,. position,0.1 0.6 0.06 0.1,cdata,bmp1,. callback,zoom on,tooltipstring,Enable zooming);h_2=uicontrol(style,pushbutton,units,no
20、rmalized,. position,0.04 0.45 0.06 0.1,cdata,bmp2,. callback,zoom xon,tooltipstring,Enable zoom on x-axis only);h_3=uicontrol(style,pushbutton,units,normalized,. position,0.16 0.45 0.06 0.1,cdata,bmp3,. callback,zoom yon,tooltipstring,Enable zoom on y-axis only);h_4=uicontrol(style,pushbutton,units,
21、normalized,. position,0.1 0.3 0.06 0.1,cdata,bmp4,. callback,zoom off,tooltipstring,Disable zooming);第24頁/共48頁第二十四頁,編輯于星期六:六點 五十三分。第25頁/共48頁第二十五頁,編輯于星期六:六點 五十三分。 1.5. 坐標(biāo)軸對象建立坐標(biāo)軸對象使用axes函數(shù),調(diào)用它的命令形式為:句柄變量=axes(屬性名1,屬性值1,屬性名2,屬性值2,)MATLAB為每個坐標(biāo)軸對象提供了很多屬性。除公共屬性外,還有其他常用屬性。第26頁/共48頁第二十六頁,編輯于星期六:六點 五十三分。 例
22、利用坐標(biāo)軸對象實現(xiàn)圖形窗口的任意分割。 程序如下(my_figure.m):clf; %清圖形窗口x=linspace(0,2*pi,20);y=sin(x); figure axes(Posi,0.2,0.2,0.2,0.7); plot(y,x); title(sin(x)-1); axes(Posi,0.4,0.5,0.2,0.09);stairs(x,y); title(sin(x)-2); axes(Posi,0.55,0.6,0.25,0.3);stem(x,y);title(sin(x)-3); axes(Posi,0.55,0.2,0.25,0.2); stem(x,y); t
23、itle(sin(x)-4); 第27頁/共48頁第二十七頁,編輯于星期六:六點 五十三分。 1.6. 曲線對象 建立曲線對象使用line函數(shù),調(diào)用它的命令形式為: 句柄變量=line(x,y,z,屬性名1,屬性值1,屬性名2,屬性值2,) 其中對x,y,z的解釋與高層曲線函數(shù)plot和plot3等一樣,其余的解釋與前面介紹過的figure和axes函數(shù)類似。每個曲線對象也具有很多屬性。除公共屬性外,還有其他常用屬性。第28頁/共48頁第二十八頁,編輯于星期六:六點 五十三分。 1.7. 文字對象 使用text函數(shù)可以根據(jù)指定位置和屬性值添加文字說明,并保存句柄。調(diào)用該函數(shù)的命令形式為: 句柄
24、變量=text(x,y,z,說明文字,屬性名1,屬性值1,屬性名2,屬性值2,) 其中說明文字中除使用標(biāo)準(zhǔn)的ASCII字符外,還可使用LATEX格式的控制字符。 除公共屬性外,文字對象還有其他常用屬性。第29頁/共48頁第二十九頁,編輯于星期六:六點 五十三分。 1.8. 曲面對象 建立曲面對象使用surface函數(shù),調(diào)用它的命令形式為: 句柄變量=surface(x,y,z,屬性名1,屬性值1,屬性名2,屬性值2,) 其中對x,y,z的解釋與高層曲面函數(shù)mesh和surf等一樣,其余的解釋與前面介紹過的figure和axes等函數(shù)類似。 每個曲面對象也具有很多屬性。除公共屬性外,還有其他常用
25、屬性。第30頁/共48頁第三十頁,編輯于星期六:六點 五十三分。 例 x,y=meshgrid(-2:.4:2); z=x.*exp(-x.2-y.2); fh=figure(Position,350 275 400 300,Color,w); ah=axes(color,.8 .8 .8,XTick,-2 -1 0 1 2,YTick,-2 -1 0 1 2); sh=surface(Xdata,x,Ydata,y,Zdata,z,. Facecolor,get(ah,Color)+.1,Edgecolor,k,Marker,o,. MarkerFaceColor,.5 1 .85);第31
26、頁/共48頁第三十一頁,編輯于星期六:六點 五十三分。surf(x,y,z)第32頁/共48頁第三十二頁,編輯于星期六:六點 五十三分。 例 利用曲面對象繪制三維曲面z=sin(y)cos(x)。程序如下: x=0:0.1:2*pi; x,y=meshgrid(x); z=sin(y).*cos(x); axes(view,-37.5,30); hs=surface(x,y,z,FaceColor,w,EdgeColor,flat); grid on; xlabel(x-axis) ylabel(y-axis) zlabel(z-axis); title(mesh-surf); pause s
27、et(hs,FaceColor,flat); 第33頁/共48頁第三十三頁,編輯于星期六:六點 五十三分。2.菜單設(shè)計第34頁/共48頁第三十四頁,編輯于星期六:六點 五十三分。 MATLAB MATLAB的各個圖形窗口有自己的菜單欄,包括FileFile、EditEdit、WindowsWindows和HelpHelp等菜單項。為了建立用戶自己的菜單系統(tǒng),可以先將圖形窗口的MenuBarMenuBar屬性事先設(shè)置為nonenone, 以取消圖形窗口缺省的菜單,然后再建立用戶自己的菜單。2、菜單設(shè)計第35頁/共48頁第三十五頁,編輯于星期六:六點 五十三分。1.1.建立用戶菜單建立用戶菜單 要
28、建立用戶菜單可用uimenuuimenu函數(shù),因其調(diào)用方法不同,該函數(shù)可以用于建立菜單條中的菜單項和子菜單中的菜單項。建立菜單條的函數(shù)調(diào)用形式為: 菜單項句柄=uimenu(=uimenu(圖形窗口句柄,屬性名1 1,屬性值1 1,屬性名2 2,屬性值2 2,) ) 建立子菜單的函數(shù)調(diào)用形式為: 子菜單句柄=uimenu(=uimenu(父菜單句柄,屬性名1 1,屬性值1 1,屬性名2 2,屬性值2 2,) )2、菜單設(shè)計第36頁/共48頁第三十六頁,編輯于星期六:六點 五十三分。2.2.菜單對象常用屬性菜單對象常用屬性 (1 1) TagTag屬性 TagTag屬性的取值是字符串,它定義了該
29、菜單對象的一個標(biāo)識值。定義了TagTag屬性后,在任何程序中都可以通過這個標(biāo)識值找出該菜單對象。 (2 2) TypeType屬性 TypeType屬的取值總是uimenuuimenu,這個屬性值標(biāo)明圖形對象的類型。對菜單對象,其類型就是uimenuuimenu,用戶不能改寫這個屬性。 (3 3) UserDataUserData屬性 UserDataUserData屬性的取值是一個矩陣,缺省值為空矩陣,用戶可以在這個屬性中保存與該菜單對象相關(guān)的重要數(shù)據(jù)或信息,借此可以達到傳遞數(shù)據(jù)或信息的目的??梢杂胹etset和getget函數(shù)訪問該屬性。二、菜單設(shè)計第37頁/共48頁第三十七頁,編輯于星期
30、六:六點 五十三分。 菜單條中含有File和Help兩個菜單項。如果選擇File中的New選項,則將顯示New Item字樣,如果選擇File中的Open選項,則將顯示出Open Item字樣。File中的Save菜單項初始時處于禁選狀態(tài),在選擇Help選項之后將此菜單項恢復(fù)成可選狀態(tài),如果選擇File中的Save As選項,則將顯示Save As Item字樣。如果選擇File中的Exit選項,則將關(guān)閉當(dāng)前窗口。如果選擇Help中About 選項,則將顯示Help Item字樣,并將Save 菜單設(shè)置成可選狀態(tài)。【例2】 建立一個菜單系統(tǒng)。二、菜單設(shè)計第38頁/共48頁第三十八頁,編輯于星期六:六點 五十三分。 程序如下: screen=get(0,ScreenSize); W=screen(3);H=screen(4); hf=figure(Color,1,1,1,Position,1,1,0.4*W,0.3*H,. Name,菜單設(shè)計示例一,NumberTitle,off,MenuBar,none); hfile=uimenu(hf,label,&File); hhelp=uimenu(hf,label,&Help); uimenu(hfile,label,&New,call,disp(New Item); uimenu(hfile
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版物流企業(yè)車輛租賃承包運輸合同范本6篇
- 二零二五版物流企業(yè)市場調(diào)研與分析合同3篇
- 娛樂行業(yè)安全工作總結(jié)制藥行業(yè)安全工作總結(jié)
- 引導(dǎo)學(xué)生樹立正確語文學(xué)習(xí)態(tài)度
- 電子產(chǎn)品客服工作總結(jié)
- 網(wǎng)頁設(shè)計美工工作總結(jié)
- 音樂行業(yè)演出場地衛(wèi)生消毒計劃
- 二零二五年度鋼結(jié)構(gòu)建筑拆除與安裝一體化合同
- 2025版消防安全設(shè)施安裝合同3篇
- 二零二五年度環(huán)保節(jié)能設(shè)備銷售、安裝、能效評估服務(wù)合同3篇
- 小學(xué)一年級數(shù)學(xué)20以內(nèi)的口算題(可直接打印A4)
- 工業(yè)自動化生產(chǎn)線操作手冊
- 《走進神奇》說課稿
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
- 五年級下冊語文教案 學(xué)習(xí)雙重否定句 部編版
- 南京地區(qū)幼兒園室內(nèi)空氣污染物與兒童健康的相關(guān)性研究
- 平安產(chǎn)險陜西省地方財政生豬價格保險條款
- 初中物理光學(xué)難題難度含解析答案
- 《霍爾效應(yīng)測量磁場》課件
- 《瘋狂動物城》全本臺詞中英文對照
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動型作文的審題立意課件73張
評論
0/150
提交評論