matlabGUI學(xué)習(xí)筆記_第1頁
matlabGUI學(xué)習(xí)筆記_第2頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、matlab GUI 學(xué)習(xí)筆記matlab 在創(chuàng)建每一個圖形對象時,都為該對象分配唯一的值,(handle)。句柄是圖形對象唯一標(biāo)識符,不同對象的句柄不能重復(fù)和混淆。計算機(jī)屏幕作為根對象(root)由系統(tǒng)自動建立,其句柄值為 0,而圖形窗口對象(Figure)的句柄值為一正整數(shù),并顯示在該窗口的標(biāo)題欄。其他圖形對象的句柄為浮點(diǎn)數(shù)。通過句柄可實現(xiàn)對對象的各種控制和設(shè)置。圖形對象的屬性是一些特殊值,可以對圖形對象進(jìn)行控制和設(shè)置, 由屬性名和屬性值組 成,屬性名通常是采用大小寫字母組成的字符串,首字母大寫。用戶在創(chuàng)建圖形時可以對屬性值設(shè)置,否則為系統(tǒng)默認(rèn)值。通常在創(chuàng)建圖形對象后,通過句柄對屬性值進(jìn)行

2、修改,利用函數(shù)get()獲取圖形對象的屬性值,通過 set()設(shè)置屬性值。15.2.1創(chuàng)建圖形對象除根對象外,每一種圖形對象都有一個相對應(yīng)的創(chuàng)建函數(shù)。 在MATLAB中,圖形對象的創(chuàng)建函數(shù),如表15/所示口 例如,采用函數(shù)figure)創(chuàng)建figure對象,函數(shù)axes( )J建坐標(biāo)鋪對蛍“15.1蛙形對象的創(chuàng)建丞數(shù)*根對熟figure*axes*坐標(biāo)樹1image*妙*燈光氣|hnzpatch-如lectangle1iti血w獲取對象的屬性值 get():vget(h):該函數(shù)獲取句柄h的所有屬性值.v=get(hfPropertyName): 該函數(shù)獲取句柄h的指定的屬 性飮kv=get0

3、PFactory ):該函數(shù)獲取根對象(root)的所有出 廠屈性值v=get(htdefault*):該函數(shù)獲取句柄h的所有默認(rèn)屬性值“set(0,defaultFigureColor,1 1 1)設(shè)置圖形 figure 界面的顏色;圖形對象的基本操作WWTO口中的坐標(biāo)軸的旬桶亠衣取豈館圖#宙口中 m 麗対免的句補(bǔ) 罰正在執(zhí)行的回調(diào)程岡應(yīng)的對娜 罰口帕栢15 3對氛的嫌常用作-KR函敷 Q說明芒rest1對彖的復(fù)位,恢復(fù)為默認(rèn)值Jfindobj*林的畫找 Q|findalb查妝所有對氟,包括険藏的對桑1copyobj*對義的復(fù)制卩delete對象的刪除門allchild*1査找所有的千對猱P

4、ancestor-査找對象的父對塞 QI茯取正在杭行時且訓(xùn)程序?qū)?yīng)的對轂旬杯set (h, * res ize* , off) reset(gcf) get (h, Resize7)S152荻!當(dāng)前圈JK左報的函茯取豈甫圖形 E E 口的句勵ans匸on圖形窗口也稱為figure對象“圖形窗口的句柄值為正整數(shù)- 在MATL&B中,采用函數(shù)figue()來創(chuàng)建圖形窗口口 在MATLAB中,利用函數(shù)figure(h)創(chuàng)建句柄為h的圖形窗口民可以采用get(h)獲取該圖形句柄的所有屆性值口采用 函數(shù)elf清空當(dāng)前圖形窗口該函數(shù)的L凋用格式為:elf:該函數(shù)清除當(dāng)前figure中的所有不隱藏的對象el

5、ffresef):該函數(shù)清除當(dāng)前figure的所有對線尸并對figure的屬性復(fù)位為系統(tǒng)的默認(rèn)值clf(figh該函數(shù)清除窗口fig中所有不隱藏的對象。clf(figrreset):該函數(shù)淸除窗口fig中所有不隱藏的對象. 并復(fù)位為系統(tǒng)的默認(rèn)值.close (gcf )關(guān)閉當(dāng)前窗口;在MATLAB中#釆用函數(shù)a“s()創(chuàng)建坐標(biāo)軸對象,該函數(shù) 的調(diào)用格式為:axes:該函數(shù)在當(dāng)前的figured創(chuàng)建坐標(biāo)軸對象,采用系統(tǒng) 的默認(rèn)值.axesCposition;RECT):該函數(shù)設(shè)置坐標(biāo)軸的位置為RECTrRECT為4維向量.指定坐標(biāo)軸的尺寸和位置” 格式為left,bottom, width, h

6、eight,即左,&t寬 ,高,以屏幕的左下角為原點(diǎn).axes(h);當(dāng)句柄為h的坐標(biāo)軸對象存在時*將其設(shè)置為當(dāng)前 對象如果句柄為h的坐標(biāo)軸對象不存在,則創(chuàng)建句柄為h的坐標(biāo)軸對象,并設(shè)置為當(dāng)前的對象h=axesf.J:該函數(shù)返回坐標(biāo)軸對象的句柄乩在MATLAB中F核心圖形包扌岳 圖像(imngQ、線條( line) *文本(text)=光照(light) *塊(pch)=矩形(rectangle)和曲面surface)o下面對常用的images line和燒琥進(jìn)行介紹對于light, patch, rectangle和surface用戶可以通過MATLAB的擠助進(jìn)行在MATLAB中,利用函數(shù)i

7、nwge()創(chuàng)建圖像對彖,該函數(shù)的 低級調(diào)用格式為:h=image(4P1Name P1 Value,4P2NameP2Value,)。imge對象的主要屬性為CData和Visible。CData屬性保存了image的圖像數(shù)據(jù)尸Visible屆性設(shè)置圖像是否顯示。Rclear all;close all;A=imread(,football.tif,tif);A=im2double(A);h=image(A);set(gca;xlimO 320/ylim0 256】 );設(shè)置坐標(biāo)軸的屬性get(h;type*%獲取圖形對象的屬性值在MATLAB中uicontrol為用戶接口控制對象,利用函數(shù)

8、uicontrol可以創(chuàng)建的常見能按鈕、靜態(tài)文本和滑動條等等 函數(shù)uicontrol可以創(chuàng)建的對象類型,如表15.4所示a 15 4 uicontrol.的對象類型類型checkbox夏迭HCheck boxes*1edit*3可tl笹文本Editable text fields*7frame-dO Frames*1hstboxJ列衰框,Listboxpoptpmenu-J萍岀式菜單Pop-up mnus;%倉耳建圖形窗口h1=plot(tTsin(t);&(gca;xliiTiO 2*pi);h2=uimenu(,Label7M色設(shè)置);創(chuàng)建菜單ulm enu(h2)VL abel/紅色VA

9、cceleratoryR,.,% 創(chuàng)建子菜單,callbackVset(h1/Color;,redTy);ulmenu(h2/Laber;綠色/Acceleratof/GV.% 創(chuàng)建子菜單callbacks0t(h1,vtColorJl green)1);uimenufhZ/Laber/藍(lán)色/AcceleratorVB;.,.% 創(chuàng)建子菜單callbackysettM/ColorVbluen;set(gcf;position100T100T200,200J); set(h1colorwhite1); st(h1 /color/black);aa get(h1/color)ans = 00a s

10、et(h1,81X03 0,5 0.8;右鍵屬性欄在MATLAB中,利用函數(shù)uicontextmenuf)創(chuàng)建右鍵快捷菜單,該函數(shù)的調(diào)用格式為:uicontextmenu(P1 Name P1Valuer.t#):該函數(shù)對右鍵快 捷菜單的廉性進(jìn)行設(shè)置。h=uicontextmenu(該函數(shù)返回右鍵快捷菜單的句柄h創(chuàng)建快捷菜單,對正弦曲線的顏色進(jìn)行設(shè)置,代碼如下:clear all; close all;t=0:piy20:2pi; figure(fmenubar*/none*);% 建立圖形窗口setfgcxliiTi1, 2*pi);h2=uictntextmenu;%創(chuàng)建右鍵快捷菜單dls

11、et(h1;,colorM;redM)1;c2=Tset(h1/rcolor/Tgreenf; c3=tset(h1/rcolor;,blueT;uimenu(h2/Labe(7Red,!.% 創(chuàng)建菜單項callbackcl);uinnenu(h2/Lab&r;Green.% 創(chuàng)建菜單項getBle乞戢文件的標(biāo)堆圈形異砂test dig*input filH保薛文住的標(biāo)堆畫畛鼻麗pnntdig打印對話抵門UlMtCOlOP謖禿色彩的標(biāo)灌圏形界面Jpagesetup頁面設(shè)丘對話!uuetfort help, warn或custom等,系統(tǒng)默認(rèn)為noneoRmsgbox(*Message Titl

12、e*,rcustom Icon Data, Icon Map):該函數(shù)中利用IconData和IconMap建立lcon h=msgbox(.)s該函數(shù)返回消息對話框的句柄。在MQTLAB中,利用函數(shù)errordlg()建立錯誤對話框。它不 接受用戶的任何輸入,理弼戶單擊0K按鈕后,對話框自 動關(guān)閉,然后返回程序中繼續(xù)執(zhí)行。該函數(shù)的調(diào)用格式 為:errordig:建立默認(rèn)的錯誤對話框。errordlgCErrorstring*):該函數(shù)建立錯誤對話框的內(nèi)容為Errorstringoerrordlg(*Errorstring Dialogname*);該函數(shù)建立錯誤對 話框的名稱為為Diaglo

13、gnameah=errordlg(.):該函數(shù)返回錯誤對話框的句柄。msgboxf*Message*):為Message。該函數(shù)建立消息對話框,消息的內(nèi)容在MATLAB中,采用函數(shù)warndlg()建立警告對話框,該目 數(shù)的調(diào)用格式和errordlg()基*湘同.用戶可以在MATLAB的命令行窗口輸入;help warndlg進(jìn)行查詢awarndlg;warndlgf警告信息! 丫警告);在MATLAB中,利用函數(shù)inputdlg()建立輸入對話框.該函數(shù) 接受用戶的輸入,然后將輸入值進(jìn)行返回.answer=inputdlg(fUserName:,/Password:,/log in*);帶有

14、默認(rèn)值的輸入對話框:clear all; close all;prompt=f輸入矩陣的行:,輸入矩陣的列:;name=*陣大?。簄u mlines=1;defaultanswer=,5,;5,);an swer=inputdlg(prompt name, numlines, defaulta nswer);在MATLAB中,利用函數(shù)IlstdlgO建立列表對話框,該函數(shù) 的調(diào)用格式為:RSelection, ok=listdlgCP1 Name TlValue1):該函數(shù)設(shè) 置列表框的屬性,用戶單擊按鈕Ok后,選擇的序號保存 在Selection,參數(shù)ok為仁利用函數(shù)listdlg()創(chuàng)建列

15、表對話框:Selectlonyok=listdlg(ListStringvf Blue/Green/Yello/ Black*,.%創(chuàng)建列表框,name,Choose Color*,.OKStrlngV確定;CancelStrlng;取消,|nitialValue3,.listsizeROO 100):selection.okJistdlgCliststring.fblueVgreen/yellowVblackname/choose color*,okstring,l l.csncelstringT 取消initialvalue3r.selectionmodeVsingle,.listsizs

16、.OO 100):在MATLAB中,利用函數(shù)questdlg()建立問題對話框,然 后等待用戶回答。默認(rèn)情況下,回答按鈕有3個,分別是Yes. No和CanceLchoice=questdlgC你確定要關(guān)閉嗎?.問題對話框 確認(rèn):NO);switch choice, caseYes disp(fYou choose Yes.*);case Nodisp(*You choose No.);case Cancel*在MATLAB中,利用函數(shù)waitbar()創(chuàng)建進(jìn)度條對話框,反 映程序運(yùn)行的完成情況。該函數(shù)的調(diào)用格式為:waitbar(x):創(chuàng)建進(jìn)度條,x介于01之間,如果x=O示進(jìn) 度條開始,X

17、N時進(jìn)度完成。kh=waitbar(x, Message*):創(chuàng)建標(biāo)題為message的進(jìn)度條 ,返回值h為進(jìn)度條的句柄。h=waitbar(x, message*. TIName*, P1 Value,.):對進(jìn)度 條的屬性進(jìn)行設(shè)置。waitbar(x, h):更新句柄為h的進(jìn)度條的進(jìn)度xwaitbarfx, hfupdated message*):更新句柄為h的進(jìn)度條 的進(jìn)度和標(biāo)題。end創(chuàng)建進(jìn)度條,顯示完成情況代碼如下;h=waitbar(O/Please wait丫Name;進(jìn)度條; 創(chuàng)建進(jìn)度條steps=1000;for i=1:stepswaitbar(i/steps h.H av

18、e fin ishrwm2stC0CTsteps)%);%更新進(jìn)度pause(O.OI);endQclose(h);dname=uigetdir;drtamdriatiBe -):Mark-ALL-MATLABchapl5A獲取對話框路徑柱MATLAB中,采用函數(shù)uigetfilef)建比文件打開對話框, 用戶通過該對話框來選擇要打開的文件。該函數(shù)返回用 戶選擇的路徑和文件名,然后可以進(jìn)行數(shù)據(jù)的讀取和寫 入等慄作Filename=uigetflle:該函數(shù)建立默認(rèn)的文件打開對話框, 默認(rèn)為當(dāng)前的目錄,文件類型為所有的MATLAB文件尸 返回所選擇的文件名Filename, Pathname=uigetfile(FilterSpec):該函數(shù)通iiFilterSpec指定擴(kuò)展名, 返回選擇的文件名和路徑。FilterSpec為字符串或字符聖單元數(shù)組,用于文件名的過濾如果FilterSpec為tm,則莊對話框中只列出后綴為 的文件口Filename, Pathname=ulgetflle(FllterSpec, DialogTItle):該函數(shù)設(shè)置對話框的標(biāo)題為DialogTltlen在MATLAB中采用函數(shù)uiputfile()建立文件保存對話框, 返回保存的文件名和路徑名.Filename

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論