




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第七章Matalb的GUI設(shè)計(jì)17.1句柄圖形句柄圖形體系1圖形對象和句柄圖形對象是一組緊密相關(guān)、形成惟一整體的子對象的集合,并且子對象可以被單獨(dú)地操作。在創(chuàng)建每一個(gè)圖形對象時(shí),都為該對象分配惟一的一個(gè)數(shù)值,稱為圖形對象句柄。句柄是圖形對象的惟一標(biāo)識(shí)符,不同對象的句柄是不同的。22句柄圖形的結(jié)構(gòu)由圖形創(chuàng)建函數(shù)產(chǎn)生的每一個(gè)對象都是圖形對象,包括圖形窗口、坐標(biāo)軸、線條、曲面和文本,這些對象按父對象和子對象組成層次結(jié)構(gòu)。計(jì)算機(jī)屏幕是根對象,并且是所有其他對象的父對象。圖形窗口是根對象的子對象,坐標(biāo)軸和用戶界面對象是圖形窗口的子對象,線條、文本、曲面、貼片和圖像對象是坐標(biāo)軸對象的子對象。
3各圖形對象的句柄數(shù)據(jù)格式:
根屏幕0圖形窗口整數(shù),表示圖形窗口數(shù)其它對象對應(yīng)的符點(diǎn)數(shù)4窗口1窗口n窗口2界面控制界面菜單軸線面字塊像根屏幕5窗口對象線對象軸對象6面對象軸對象像對象塊對象線對象文字對象7
所有能創(chuàng)建圖形對象的matlab函數(shù)都可給出所創(chuàng)建圖形對象的句柄例:創(chuàng)建1號窗口,返回句柄h=figure(1)h=1返回值為窗口號數(shù)例:h=line(1:6,1:6)創(chuàng)建線對象的同時(shí)也建立了一個(gè)唯一的句柄變量h是句柄值——符點(diǎn)數(shù)87.2圖形對象的建立1圖形窗口對象figure:建立新的圖形窗口的函數(shù)h=figure(PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)功能:建立圖形窗口并設(shè)置指定屬性的屬性值,將句柄值賦給句柄變量h。其中PropertyName,PropertyValue(即屬性名,屬性值)構(gòu)成屬性二元對,該屬性二元對還可以用結(jié)構(gòu)數(shù)組表示。9h=figure('color',[101],'name','hao')10figure或h=figure功能:按默認(rèn)的屬性值建立圖形窗口。要關(guān)閉圖形窗口,使用close函數(shù),調(diào)用格式為:close(h)功能:關(guān)閉句柄為h的圖形窗口。closeall功能:關(guān)閉所有的圖形窗口。
注意clf命令則是清除當(dāng)前圖形窗口的內(nèi)容,但不關(guān)閉窗口。
112坐標(biāo)軸對象axes:建立坐標(biāo)軸對象a=axes(PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)功能:用指定的屬性在當(dāng)前圖形窗口創(chuàng)建坐標(biāo)軸,并將其句柄值賦給句柄變量a。axes或
a=axes功能:按默認(rèn)的屬性值在當(dāng)前圖形窗口創(chuàng)建坐標(biāo)軸。123曲線對象line:建立曲線對象L=line(x,y,z,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)功能:繪制曲線,并將句柄值賦給句柄變量L,其中x,y,z的含義與高層繪圖函數(shù)plot和plot3等一樣。
13x=0:pi/100:pi;y=sin(x);h=line(x,y,'color',[0.50.0.9],'linewidth',4,'linestyle',':')144文字對象text:建立文字對象的函數(shù)t=text(x,y,z,'說明文字',PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)功能:在指定位置和以指定的屬性值添加文字說明,并保存句柄值為t。說明文字中除使用標(biāo)準(zhǔn)的ASCII字符外,還可使用LaTeX格式的控制字符。15text(1.5,1,'sin(x)','fontsize',20)165曲面對象
surface:建立曲面對象s=surface(x,y,z,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)功能:建立句柄值為s的曲面對象。其中對x,y,z的含義與曲面繪制函數(shù)mesh和surf等一樣。177.3對象句柄的獲取方法句柄值的獲取方法:1)追溯法獲取句柄h_pa=get(h_known,’parent’)功能:獲取h_known的父對象句柄值,并賦給h_pa。h_ch=get(h_known,’children’)功能:獲取h_known的子對象的句柄值,并賦給h_ch。
182)當(dāng)前對象句柄的獲取Hf_fig=gcf功能:返回當(dāng)前圖形窗口的句柄值,并賦給Hf_figHa_ax=gca
功能:返回當(dāng)前圖形的當(dāng)前坐標(biāo)軸的句柄值,并賦給Ha_ax。Hx_obj=gco
功能:獲取當(dāng)前對象的句柄值,并賦給Hx_obj。Hx_obj=gco(Hf_fig)功能:返回句柄值為Hf_fig的圖形中當(dāng)前對象的句柄值。
193)根據(jù)對象特性獲取句柄findobj函數(shù)是根據(jù)對象特性獲取句柄的一種重要方法。調(diào)用格式如下:h=findobj(h-ori,PropertyName,PropertyValue)h=findobjPropertyName,PropertyValue,…)功能:獲取根和根以下以屬性二元對(PropertyName,PropertyValue)指定屬性值的對象的句柄值,并賦給h。20H=findobj
功能:獲取根對象和所有子對象的句柄值,并賦給H。H=findobj(ObjectHandles)
功能:獲取句柄為ObjectHandles對象中列出的對象和它們的子對象的句柄值,并賦給H。217.4對象屬性的獲取和設(shè)置句柄圖形建立后,應(yīng)用函數(shù)get和set獲取和設(shè)置對象的屬性。
get(h_obj)
獲取句柄對象所有屬性的當(dāng)前值get(h_obj,'PropertyName')
獲取句柄對象h_obj的屬性名為PropertyName的當(dāng)前值set(h_obj) 顯示句柄對象所有屬性和屬性值。22set(h_obj,'PropertyName','PropertyValue')
設(shè)置句柄對象指定屬性名的屬性值23get(h_obj,'DefaultObjectTypePropertyName')獲取對象屬性的默認(rèn)值set(h_obj,'DefaultObjectTypePropertyName',PropertyValue)
設(shè)置屬性的用戶定義默認(rèn)值set(h_obj,'DefaultObjectTypePropertyName','Remove')
刪除屬性的用戶定義默認(rèn)值24例:作正弦、余弦曲線,將正弦曲線改為虛線,將余弦曲線幅度減為1/2高度,如何用句柄實(shí)現(xiàn)。x=0:2*pi/180:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,x,zeros(size(x)),'w:')25首先查詢各對象的屬性get(gcf) ···h=get(gcf,'children')h=hh=get(gca,'children')hh=26修改屬性y11=get(hh(2),'ydata');y22=y11/2;set(hh(2),'ydata',y22)set(hh(3),'linestyle',':')277.5圖形用戶界面7.5.1圖形用戶界面對象層次結(jié)構(gòu)圖形用戶界面(GraphicalUserInterfaces,GUI):由窗口、光標(biāo)、按鍵、菜單、文字說明等對象構(gòu)成的一個(gè)用戶界面。用戶通過鼠標(biāo)或鍵盤選擇、激活這些圖形對象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化。MATLAB中設(shè)計(jì)圖形用戶界面的方法有兩種:使用可視化的界面環(huán)境和通過編寫程序。用戶菜單、用戶控件和對話框是和坐標(biāo)軸處于同一層次的,都是圖形窗口的子對象。
28圖形用戶界面設(shè)計(jì)工具的啟動(dòng)圖形用戶界面設(shè)計(jì)工具的啟動(dòng)方式:1)命令方式圖形用戶界面GUI設(shè)計(jì)工具的啟動(dòng)命令為guide,格式為:guide功能:啟動(dòng)GUI設(shè)計(jì)工具,并建立名字為的圖形用戶界面。guideFN功能:啟動(dòng)GUI設(shè)計(jì)工具,并打開已建立的圖形用戶界面FN。
292)菜單方式在MATLAB的主窗口中,選擇File菜單中的New菜單項(xiàng),再選擇其中的GUI命令,就會(huì)顯示GUI的設(shè)計(jì)模板。4種模板分別是:BlankGUI(Default)(空白模板,默認(rèn))GUIwithUicontrols(帶控件對象的GUI模板)GUIwithAxesandMenu(帶坐標(biāo)軸與菜單的GUI模板)ModalQuestionDialog(帶模式問題對話框的GUI模板)。當(dāng)用戶選擇不同的模板時(shí),在GUI設(shè)計(jì)模板界面的右邊就會(huì)顯示出與該模板對應(yīng)的GUI圖形。
30圖形用界面設(shè)計(jì)工具啟動(dòng)時(shí)模板選擇對話框
31圖形用戶界面設(shè)計(jì)窗口的組成圖形用戶界面GUI設(shè)計(jì)窗口由菜單欄、工具欄、控件工具欄以及圖形對象設(shè)計(jì)區(qū)等4個(gè)功能區(qū)組成。GUI設(shè)計(jì)窗口的菜單欄有File、Edit、View、Layout、Tools和Help菜單項(xiàng),使用其中的命令可以完成圖形用戶界面的設(shè)計(jì)操作。編輯工具在菜單欄的下方,提供了常用的工具;設(shè)計(jì)工具區(qū)位于窗口的左半部分,提供了設(shè)計(jì)GUI過程中所用的用戶控件;空間模板區(qū)是網(wǎng)格形式的用戶設(shè)計(jì)GUI的空白區(qū)域。
32用戶界面設(shè)計(jì)過程中常用的工具有5個(gè),分別是:對象屬性查看器(PropertyInspector)菜單編輯器(MenuEditor)位置調(diào)整工具(AlignObjects)對象瀏覽器(ObjectBrowser)Tab順序編輯器(TabOrderEditor)
331對象屬性查看器利用對象屬性查看器,可以查看每個(gè)對象的屬性值,也可以修改、設(shè)置對象的屬性值。在選中某個(gè)對象后,可以通過對象屬性查看器,查看該對象的屬性值,也可以方便地修改對象屬性的屬性值。對象屬性查看器的打開方式有四種:1)從GUI設(shè)計(jì)窗口工具欄上選擇PropertyInspector命令按鈕;2)選擇View菜單下的PropertyInspector;3)在命令窗口中輸入inspect;4)在控件對象上單擊鼠標(biāo)右鍵,選擇彈出菜單的PropertyInspector。
342菜單編輯器利用菜單編輯器,可以創(chuàng)建、設(shè)置、修改下拉式菜單和快捷菜單。選擇Tools菜單下的MenuEditor...子菜單,即可打開菜單編輯器。菜單也可以通過編程實(shí)現(xiàn),方法為從GUI設(shè)計(jì)窗口的工具欄上選擇MenuEditor命令按鈕;在GUI的空白區(qū)域單擊鼠標(biāo)右鍵,選擇彈出菜單的MenuEditor,打開菜單編輯程序。
353位置調(diào)整工具利用位置調(diào)整工具,可以對GUI對象設(shè)計(jì)區(qū)內(nèi)的多個(gè)對象的位置進(jìn)行調(diào)整。位置調(diào)整工具的打開方式有兩種:1)從GUI設(shè)計(jì)窗口的工具欄上選擇AlignObjects命令按鈕;2)選擇Tools菜單下的AlignObjects...菜單項(xiàng),就可以打開對象位置調(diào)整器。
364對象瀏覽器利用對象瀏覽器,可以查看當(dāng)前設(shè)計(jì)階段的各個(gè)句柄圖形對象。對象瀏覽器的打開方式有:1)從GUI設(shè)計(jì)窗口的工具欄上選擇ObjectBrowser命令按鈕;2)選擇View菜單下的ObjectBrowser子菜單;3)在設(shè)計(jì)區(qū)域單擊鼠標(biāo)右鍵,選擇彈出菜單的ObjectBrowser。375Tab順序編輯器利用Tab順序編輯器TabOrderEditor,可以設(shè)置用戶按鍵盤上的Tab鍵時(shí),對象被選中的先后順序。Tab順序編輯器的打開方式為:1)選擇Tools菜單下的TabOrderEditor...菜單項(xiàng),就可以打開Tab順序編輯器。2)從GUI設(shè)計(jì)窗口的工具欄上選擇TabOrderEditor...命令按鈕。387.6GUI控件介紹39407.7常見屬性介紹Label:菜單上顯示出來內(nèi)容,如file,editTag:每一個(gè)控件的標(biāo)簽,如人的姓名一樣,是唯一的,不要重復(fù)。String:文本框或者按鈕上顯示內(nèi)容。Value:操作某個(gè)控件的返回值。Callback:觸發(fā)某個(gè)控件或菜單時(shí)的響應(yīng)41用戶菜單1自定義的用戶菜單P324unimenu:自定義的用戶菜單Hm=unimenu(Hp,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,…)Uicontextmenu:建立快捷菜單Uicontrol:建立控件對象42h=gcf;hf=uimenu(h,'tag','file','label','File');uimenu(hf,'tag','file','label','new');uimenu(hf,'tag','file','label','colse','separator','on');hc=uicontextmenu('tag','con1')uimenu(hc,'tag','file','label','red
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抗血吸蟲病藥戰(zhàn)略市場規(guī)劃報(bào)告
- 對頂角、余角和補(bǔ)角 教案 2024-2025學(xué)年北師大版數(shù)學(xué)七年級下冊
- 廠房使用合同范本
- 受托支付合同范本簡易
- 化肥提供合同范本
- 機(jī)械基礎(chǔ)考試模擬題+參考答案
- 信息保密合同范本
- 賣房給中介合同范本
- 保姆合同范本帶小孩
- 中電聯(lián)特許經(jīng)營合同范本
- 荊州市國土空間總體規(guī)劃(2021-2035年)
- 2024年政府辦事-戶口管理考試近5年真題集錦(頻考類試題)帶答案
- 鋰離子電池制造中的電池市場動(dòng)態(tài)分析考核試卷
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
- 園林綠化養(yǎng)護(hù)標(biāo)準(zhǔn)及經(jīng)費(fèi)測算
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:粘彈性模型:粘彈性模型的數(shù)值模擬技術(shù)
- 2024年山東高考政治試卷
- SF-36生活質(zhì)量調(diào)查表(SF-36-含評分細(xì)則)
- DL-T5845-2021輸電線路巖石地基挖孔基礎(chǔ)工程技術(shù)規(guī)范
- 小故事大道理兩只山羊
- GB 19522-2024車輛駕駛?cè)藛T血液、呼氣酒精含量閾值與檢驗(yàn)
評論
0/150
提交評論