九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

MATLAB圖形界面制作(GUI)與句柄圖形.ppt

  • 資源ID:2905612       資源大?。?span id="24d9guoke414" class="font-tahoma">663.05KB        全文頁(yè)數(shù):45頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

MATLAB圖形界面制作(GUI)與句柄圖形.ppt

2019/12/4,1,MATLAB圖形界面制作(GUI),2019/12/4,2,圖形用戶界面的作用,假如進(jìn)行數(shù)據(jù)分析、解方程等計(jì)算結(jié)果比較單一的工作,那么一般不會(huì)考慮GUI的制作。但是如果想向別人提供應(yīng)用程序,想進(jìn)行某種技術(shù)、方法的演示,想制作一個(gè)供反復(fù)使用且操作簡(jiǎn)單的專用工具,那么圖形用戶界面也許是最好的選擇之一。,2019/12/4,3,設(shè)計(jì)原則,由于要求不同,設(shè)計(jì)出來(lái)的界面也就千差萬(wàn)別。但是,自從人們開始設(shè)計(jì)圖形界面以來(lái),界面設(shè)計(jì)的評(píng)判標(biāo)準(zhǔn)卻沒(méi)有太大的變化。簡(jiǎn)單來(lái)說(shuō),一個(gè)好的界面應(yīng)遵循以下三個(gè)原則 : (1)簡(jiǎn)單性 : 設(shè)計(jì)界面時(shí),力求簡(jiǎn)潔、直觀、清晰地體現(xiàn)出界面的功能和特征。 (2)一致性: 所謂一致性有兩層含義:一是讀者自己開發(fā)的界面風(fēng)格要盡量一致;二是新設(shè)計(jì)的界面要與其他已有的界面風(fēng)格不要截然相左。這是因?yàn)橛脩粼诔醮问褂眯陆缑鏁r(shí),總習(xí)慣于憑經(jīng)驗(yàn)進(jìn)行試探。比方說(shuō),圖形顯示區(qū)常安排在界面左半邊,而按鍵等控制區(qū)被排在右側(cè)。 (3)其他考慮因素: 除了以上對(duì)界面的靜態(tài)要求外,還應(yīng)注意界面的動(dòng)態(tài)性能。如界面對(duì)用戶操作的響應(yīng)要迅速、連續(xù);對(duì)持續(xù)時(shí)間較長(zhǎng)的運(yùn)算,要給出等待時(shí)間提示,并允許用戶中斷運(yùn)算。,2019/12/4,4,一般制作步驟,界面制作包括界面設(shè)計(jì)和程序?qū)崿F(xiàn)。具體制作步驟如下: (1)分析界面所要求實(shí)現(xiàn)的主要功能,明確設(shè)計(jì)任務(wù)。 (2)構(gòu)建界面草圖,并站在使用者的角度來(lái)審查草圖。 (3)按構(gòu)思的草圖制作(靜態(tài))界面并檢查。 (4)編寫界面動(dòng)態(tài)功能的程序,對(duì)功能進(jìn)行逐項(xiàng)檢查。 說(shuō)明 以上過(guò)程,僅是一般原則。在設(shè)計(jì)中,步驟之間也許要交叉執(zhí)行或復(fù)合執(zhí)行。 設(shè)計(jì)和實(shí)現(xiàn)過(guò)程往往需要反復(fù)修改才能獲得滿意的界面。 建議先進(jìn)行界面布局編碼,后進(jìn)行動(dòng)態(tài)交互功能的編碼。,2019/12/4,5,界面編程需要注意的事項(xiàng),用戶界面適合軟件的功能(合適性)。是指用戶界面與軟件功能相融洽的程度。要避免用戶的誤解、費(fèi)解等。另外,不能為適應(yīng)某種體系結(jié)構(gòu)的優(yōu)勢(shì)而導(dǎo)致界面的不合適性。 容易理解。如果通過(guò)界面難以理解界面的意圖,使用起來(lái)一定費(fèi)力。容易理解是容易應(yīng)用的前提。要做到這一點(diǎn):(1)界面中不能有錯(cuò)字。(2)圖標(biāo)按鈕含義直觀明了。(3)界面元素提供充分而必要的提示。(4)界面結(jié)構(gòu)能夠清晰的反映工作流程,以便用戶操作。 及時(shí)反饋信息。 防錯(cuò)處理。,風(fēng)格一致和必要的個(gè)性化。風(fēng)格一致的好處是可以減少用戶的記憶量,減少出錯(cuò)幾率,并迅速積累操作經(jīng)驗(yàn)。必要個(gè)性化是使用戶對(duì)軟件留下深刻印象。合理布局。 合理色彩。難,不同的人對(duì)顏色的喜好不同。另外不可過(guò)分依靠色彩,因?yàn)橛脩粲锌赡苁巧せ蛏酢?適應(yīng)用戶群體和國(guó)際化。 最少的操作步驟。 可以復(fù)用。,不同的界面效果直接影響相關(guān)感受,所以精心設(shè)計(jì)很有必要。請(qǐng)看示例,2019/12/4,6,設(shè)計(jì)過(guò)程,是否滿足要求,添加動(dòng)態(tài)功能,制作靜態(tài)界面,構(gòu)建界面草圖,并審查,明確設(shè)計(jì)任務(wù),2019/12/4,7,示例,好的界面,2019/12/4,8,設(shè)計(jì)工具(GUIDE),為了能夠簡(jiǎn)單、方便地進(jìn)行GUI的設(shè)計(jì)與開發(fā)工作,MATLAB提供了一套方便、實(shí)用的GUI設(shè)計(jì)工具。MATLAB中的GUI設(shè)計(jì)工具包括以下幾個(gè): 對(duì)象設(shè)計(jì)編輯器(Layout Editor)(有的書上成為布局編輯器): 在圖形窗口內(nèi)創(chuàng)建、安排各種對(duì)象 。 菜單編輯器(Menu Editor) :創(chuàng)建、設(shè)置、修改下拉式菜單和內(nèi)容式菜單; 對(duì)象屬性查看器(Property Inspector):可查看每個(gè)對(duì)象的屬性值,也可修改、設(shè)置對(duì)象的屬性值;,2019/12/4,9,對(duì)象設(shè)計(jì)編輯器 (Layout Editor),在MATLAB命令窗口內(nèi),選擇File主菜單的New子菜單,會(huì)看到一個(gè)GUI的二級(jí)子菜單,單擊它,就會(huì)顯示對(duì)象設(shè)計(jì)編輯器(Layout Editor);也可以在MATLAB命令窗口的命令行上輸入guide,顯示對(duì)象設(shè)計(jì)編輯器。啟動(dòng)窗口如右圖所示。,2019/12/4,10,對(duì)象設(shè)計(jì)編輯器 (Layout Editor),2019/12/4,11,菜單編輯器,利用菜單編輯器,可以創(chuàng)建、設(shè)置、修改下拉式菜單和內(nèi)容式菜單。從對(duì)象設(shè)計(jì)編輯器界面的工具條上或從菜單欄中Tools的下拉菜單中選擇Menu Editor ,就可以看到菜單編輯器(Menu Editor)的界面,如右圖所示。,2019/12/4,12,菜單編輯器(2),圖中左上角第一個(gè)按鈕用于創(chuàng)建下拉式菜單。用戶可以通過(guò)點(diǎn)擊它,來(lái)創(chuàng)建下拉式主菜單。第二個(gè)按鈕用于創(chuàng)建下拉式主菜單的子菜單,在選中已經(jīng)創(chuàng)建的下拉式主菜單后,可以單擊這個(gè)按鈕來(lái)創(chuàng)建選中的下拉式主菜單的子菜單。選中創(chuàng)建的某個(gè)下拉式菜單,菜單編輯器的右邊就會(huì)顯示該菜單的有關(guān)屬性,可以在這里設(shè)置、修改菜單的屬性。 菜單編輯器界面的左下角有兩個(gè)按鈕,選擇第一個(gè)按鈕,可以創(chuàng)建下拉式菜單,選擇第二個(gè)按鈕,可以創(chuàng)建context Menu菜單(類似于彈出式菜單)。選擇它后,圖中左上角的第三個(gè)按鈕就會(huì)變成可用,單擊它可以創(chuàng)建Context Menu主菜單。在選中已經(jīng)創(chuàng)建的Context Menu主菜單后,可以單擊第二個(gè)按鈕創(chuàng)建選中的Context Menu主菜單的子菜單。與下拉式菜單一樣,選中創(chuàng)建的某個(gè)Context Menu菜單,菜單編輯器的右邊就會(huì)顯示該菜單的有關(guān)屬性,可以在這里設(shè)置、修改菜單的屬性。,2019/12/4,13,對(duì)象屬性查看器,利用對(duì)象屬性查看器,可以查看每個(gè)對(duì)象的屬性值,也可以修改、設(shè)置對(duì)象的屬性值,從對(duì)象設(shè)計(jì)編輯器界面工具條,或者選擇view菜單下的Inspect Property子菜單,就可以看到對(duì)象屬性查看器的界面。另外,在MATLAB命令窗口的命令行上輸入inspect,也可以看到對(duì)象屬性查看器。如右圖所示。,2019/12/4,14,圖形界面制作菜單,在絕大多數(shù)的圖形用戶界面下,都包含有菜單。通過(guò)選擇各級(jí)菜單,可以執(zhí)行相應(yīng)的命令,實(shí)現(xiàn)相應(yīng)的功能。一般地,從菜單的標(biāo)題或名字可以大概了解該菜單的功能。在Windows系統(tǒng)中,菜單一般位于用戶圖形界而的頂端。例如,MATLAB的主窗口中,就有一個(gè)主菜單欄,包括File、Edit、View、Help等主菜單。在各級(jí)主菜單下,還有相應(yīng)的子菜單。 在MATLAB圖形用戶界面(GUI)設(shè)計(jì)中,有兩種菜單類型,分別是下拉式菜單類型Uimenu和內(nèi)容式菜單類型Uicontextmenu。,2019/12/4,15,圖形界面制作菜單(2),菜單的建立: 在MATLAB中,可以通過(guò)命令行方式和GUI設(shè)計(jì)工具中的菜單 編輯器兩種方式建立菜單: (1)命令行方式 :在命令行方式下,可以通過(guò)函數(shù)uimenu建 立下拉式菜單對(duì)象。 (2)GUI設(shè)計(jì)工具菜單編輯器方式。 菜單的屬性: 利用函數(shù)uimenu建立菜單時(shí),可以定義菜單屬性的屬性值;利用函數(shù)set,可以設(shè)置、改變屬性的屬性值;利用get函數(shù),可以獲得菜單屬性的屬性值,也可以通過(guò)Property Inspector GUI設(shè)計(jì)工具來(lái)設(shè)置、修改菜單屬性值。,2019/12/4,16,圖形界面制作控件,在絕大多數(shù)的圖形用戶界面下,都包含有控件??丶菆D形對(duì)象,它與菜單一起用于建立圖形用戶界面。通過(guò)使用各種類型的控件,可以建立起操作簡(jiǎn)便,功能強(qiáng)大的圖形用戶界面。MATLAB也提供了多種控件,可以把它們放置在圖形窗口的任何位置,并用鼠標(biāo)激活它們。MATLAB支持的控件對(duì)象有10種。,2019/12/4,17,控件對(duì)象類型,MATLAB支持復(fù)選框Check boxes、可編輯文本框Edit text,框架Frames、列表框List boxes、彈出式菜單Popup menus、命令按鈕Push buttons、單選按鈕Radio buttons、滑標(biāo)Sliders、靜態(tài)文本框Static text、開關(guān)按鈕Toggle buttons等十種類型的控件對(duì)象,2019/12/4,18,控件對(duì)象類型(1),(1)復(fù)選框(Check boxes) 復(fù)選框有一個(gè)標(biāo)志文本,在標(biāo)志文本的左邊有一個(gè)小方框。它對(duì)于用戶進(jìn)行大量的獨(dú)立選擇很有用。為了激活復(fù)選框,可以使用鼠標(biāo)單擊復(fù)選框?qū)ο?,使?fù)選框在選中與不選中狀態(tài)間進(jìn)行切換。當(dāng)選中時(shí),復(fù)選框的value屬性值是1;當(dāng)沒(méi)有選中時(shí),復(fù)選框的小方框內(nèi)為空,此時(shí)復(fù)選框的value屬性值為0。復(fù)選框的Sytle屬性值是checkbox。 (2)可編輯文本框(Edit text) 當(dāng)需要輸入文本時(shí),可以使用可編輯文本框。通過(guò)可編輯文本框,用戶可以方便地輸入或修改已經(jīng)存在的文本串,這與文本編輯器的功能是一樣的??删庉嬑谋究虻腟tring屬性中存儲(chǔ)輸入的文本串。 可編輯文本框可以是單行或多行文本模式。當(dāng)可編輯文本框是單行模式時(shí),只允許輸入單行文本串;當(dāng)可編輯文本框是多行模式時(shí),可以輸入多行文本。可編輯文本框的Style屬性值是edit。,2019/12/4,19,控件對(duì)象類型(2),(3)框架(Frames) 框架對(duì)象是在圖形窗口內(nèi),視覺(jué)上封閉起來(lái)的一個(gè)區(qū)域,只有控件可以在框架中使用。一般把作用相關(guān)的一組控件用框架框起來(lái),這樣的用戶界面很容易被用戶理解??蚣軟](méi)有Callback例程??蚣苁遣煌该鞯?,所以設(shè)置框架與框架中控件的順序很重要。如果框架內(nèi)控件先于框架被設(shè)置,那么框架設(shè)置后就會(huì)覆蓋原先設(shè)置的控件。般地,應(yīng)在定義框架后再定義框架中的控件??蚣艿膕tyle屬件值是frame。 (4)列表框(List boxes) 列表框中列出其String屬性的字符串項(xiàng)。用戶可以方便的選擇一個(gè)或多個(gè)列表項(xiàng)。列表框的Max和Min屬性控制選擇模式;Value屬性標(biāo)明選擇的列表項(xiàng)的索引值。當(dāng)列表框上的鼠標(biāo)松開后,MATLAB會(huì)調(diào)用Callback例程。一般地,單擊與雙擊列表框的效果是不一樣的。列表框的Style屬性值是listbox。,2019/12/4,20,控件對(duì)象類型(3),(5)彈出式菜單(Popup menus) 彈出式菜單是一個(gè)顯示信息的框,框的右邊有一個(gè)下拉式箭頭。單擊下拉式箭頭,就會(huì)顯示一個(gè)列表,里面包含String屬性定義的屬性值。當(dāng)沒(méi)有打開列表時(shí),信息框內(nèi)顯示的是當(dāng)前選擇的表項(xiàng)。當(dāng)打開列表,從中選揮一個(gè)表項(xiàng)并單擊后,該表項(xiàng)就會(huì)出現(xiàn)在信息顯示框內(nèi)。彈出式菜單對(duì)于用戶進(jìn)行大量的互相不同的選擇是很有用的。如果不用彈出式菜單,那么就必須設(shè)置大量互不相同的單選按鈕。彈出式菜單的Style屬性值是popupmenu。 (6)命令按鈕(Push buttons) 命令按鈕是一個(gè)矩形的凸出對(duì)象。在命令按鈕對(duì)象上標(biāo)有一個(gè)字符串,用于標(biāo)識(shí)該命令按鈕。單擊命令按鈕,會(huì)產(chǎn)生相應(yīng)的動(dòng)作。用鼠標(biāo)單擊命令按鈕后,命令按鈕會(huì)凹下,但當(dāng)松開鼠標(biāo)后,命令按鈕又會(huì)彈起,這與下面的開關(guān)按鈕不同。命令按鈕的Style屬性值是Pushbunton。,2019/12/4,21,控件對(duì)象類型(4),(7)單選按鈕(Radio buttons) 與復(fù)選框相似,單選按鈕有一個(gè)標(biāo)志文本,在標(biāo)志文本的左邊有一個(gè)小圓圈,它對(duì)于用戶進(jìn)行功能互斥的選擇很有用。在一組單選按鈕中,一次只能有一個(gè)單選按鈕被選中,這與可以同時(shí)選中多個(gè)的復(fù)選框不同。為了激活單選按鈕,可以使用鼠標(biāo)單擊單選按鈕對(duì)象,使單選按鈕在選中與不選中狀態(tài)間進(jìn)行切換。當(dāng)選中時(shí),復(fù)選框的小圓圈內(nèi)有一個(gè)點(diǎn),此時(shí)單選按鈕的value屬性值是1;當(dāng)沒(méi)有選中時(shí),單選按鈕的小圓圈內(nèi)為空,此時(shí)單選按鈕的value屬性值為0。單選按鈕的style屬性值是radiobutton。 (8)滑標(biāo)(Sliders) 其功能類似于滾動(dòng)條,它由三個(gè)部分組成,分別是滾動(dòng)槽、滾動(dòng)槽內(nèi)的指示條和滾動(dòng)槽兩端的箭頭。其中,滾動(dòng)槽表明滑標(biāo)的有效值范圍,指示條表明滑標(biāo)的當(dāng)前值,通過(guò)箭頭可以左右移動(dòng)指示條。用戶在選中指示條后通過(guò)鼠標(biāo)拖動(dòng)指示條,可以改變滑標(biāo)的值,也可以通過(guò)單擊兩端的箭頭來(lái)改變滑標(biāo)的值??梢酝ㄟ^(guò)函數(shù)設(shè)置滑標(biāo)的最小值、最大值與當(dāng)前值?;瑯?biāo)的Style屬性值是slider。,2019/12/4,22,控件對(duì)象類型(5),(9)靜態(tài)文本框(Static text) 靜態(tài)文本框靜態(tài)顯示文本字符申。靜態(tài)文本框通常用于顯示別的控件的有義信息。例如,如果與滑標(biāo)相連,可以在靜態(tài)文本框中顯示滑標(biāo)的當(dāng)前值。與可編輯文本框不同,用戶不能交量地改變靜態(tài)文本框中的內(nèi)容。靜態(tài)文本框沒(méi)有Callback例程。靜態(tài)文本框的Style屬性值是text。 (10)開關(guān)按鈕(Toggle buttons) 開關(guān)按鈕的外觀與命令按鈕類似,是一個(gè)矩形的凸出對(duì)象,同時(shí)在開關(guān)按鈕對(duì)象上也標(biāo)有一個(gè)字符串,用于標(biāo)識(shí)該開關(guān)按鈕。與命令按鈕不同的是,當(dāng)用鼠標(biāo)單擊開關(guān)按鈕并松開后,開關(guān)按鈕不會(huì)彈起。再單擊一次,它才會(huì)彈起,這可以表明開關(guān)按鈕的狀態(tài)。單擊開關(guān)按鈕,會(huì)產(chǎn)生相應(yīng)的動(dòng)作,執(zhí)行相應(yīng)的Callback例程。在進(jìn)行工具條的設(shè)計(jì)時(shí),開關(guān)按鈕時(shí)非常有用的。開關(guān)按鈕的Style屬性值是togglebutton。,2019/12/4,23,控件的建立,與菜單對(duì)象一樣,可以通過(guò)命令行方式與GUI設(shè)計(jì)工具兩種方式來(lái)建立控件。 (1)命令行方式: 在命令行方式下,可以通過(guò)函數(shù)uicontrol來(lái)建立控件對(duì)象。 (2)GUI設(shè)計(jì)工具: 利用GUI設(shè)計(jì)工具中的對(duì)象設(shè)計(jì)編輯器(Layout Editor),可以容易地創(chuàng)建MATLAB支持的各種控件,而且通過(guò)對(duì)象屬性查看器(Object Inspector),可以方便地修改、設(shè)置創(chuàng)建的控件的屬性值。 注意:命令行方式常常用于動(dòng)態(tài)修改界面外觀,比如執(zhí)行到某種功能出現(xiàn)某個(gè)按鈕,GUI設(shè)計(jì)工具常常用于最初的界面設(shè)計(jì)。,2019/12/4,24,控件的屬性,在命令行的方式下或者GUI設(shè)計(jì)方式下,可以方便的設(shè)置、修改控件屬性的屬性值。在命令行方式下,利用uicontrol建立控件時(shí),可以定義控件屬性的屬性值;利用函數(shù)set可以設(shè)置、改變屬性的屬性值;利用函數(shù)get可以獲得屬性的屬性值。在GUI設(shè)計(jì)方式下,也可以通過(guò)Property Inspector GUI設(shè)計(jì)工具來(lái)設(shè)置控件的屬性值。,2019/12/4,25,編寫GUI代碼(1),當(dāng)我們利用GUIDE完成一個(gè)應(yīng)用程序界面布局設(shè)計(jì)后,保存設(shè)計(jì)結(jié)果時(shí),MATLAB將其保存為后綴為.fig的一個(gè)文件,并自動(dòng)生成的一個(gè)與之同名的M文件。這個(gè)M文件是控制GUI的一個(gè)程序框架,正是這個(gè)程序框架,促進(jìn)了一種高效穩(wěn)健的編程風(fēng)格。應(yīng)用M文件包含了callback函數(shù)在內(nèi)的所有代碼,每一個(gè)回調(diào)函數(shù)在M文件中用子程序的形式出現(xiàn)。,GUIDE自動(dòng)為其添加到M文件中的callback子程序命名,它還將回調(diào)屬性的值設(shè)置為一個(gè)字符串,保證用戶在激活控件時(shí)運(yùn)行這一子程序。我們已經(jīng)看到,在GUI布局中添加元件時(shí),GUIDE先為該元件的Tag屬性分配一個(gè)數(shù)值,再以此命名回調(diào)函數(shù)。比方說(shuō),在布局中添加的第一個(gè)push button被稱為pushbutton1,GUIDE在M文件中添加的callback子程序被命名為pushbutton1_Callback;我們?nèi)绻胍獙?shí)現(xiàn)按下該按鈕進(jìn)行某種操作,就可以在應(yīng)用M文件中找到pushbutton1_Callback的位置,對(duì)該子程序進(jìn)行編碼,以實(shí)現(xiàn)我們需要的操作即可。,2019/12/4,26,GUI編程舉例,功能: (1)在點(diǎn)擊【Grid on】或【Grid off】按鈕時(shí),在軸上畫出或刪除“分格線”;缺省時(shí),無(wú)分格線。 (2)在菜單【Options】下,有2個(gè)下拉菜單項(xiàng)【Box on】和【Box off】;其功能和兩個(gè)按鈕的一樣。,2019/12/4,27,第一步,打開GUIDE工具,編輯初始界面。,2019/12/4,28,第二步,設(shè)置各控件的屬性,2019/12/4,29,第三步,調(diào)整各控件的位置,2019/12/4,30,第四步,制作菜單(利用Menu Editor),2019/12/4,31,第五步,M文件編程 運(yùn)行結(jié)果,2019/12/4,32,句柄圖形,圖形細(xì)致處理和界面編程的基礎(chǔ),2019/12/4,33,句柄圖形對(duì)象,MATLAB圖形繪制系統(tǒng)是由兩個(gè)層次組成的:用于提供用戶友好的繪圖功能的高級(jí)層次和用于創(chuàng)建及操作線、面、文字、投影等基本圖形對(duì)象的低級(jí)函數(shù)。高級(jí)功能是建立在低級(jí)函數(shù)的基礎(chǔ)之上的,它為用戶的圖形繪制提供了極大的方便,因?yàn)樗灰笥脩羧ゲ僮骶€、面等的細(xì)節(jié)。但是使用低級(jí)的繪圖函數(shù)也有其優(yōu)越性,它能提供對(duì)圖形的各個(gè)基本對(duì)象的更細(xì)致的控制,不僅可以產(chǎn)生更加復(fù)雜的圖形,也為動(dòng)態(tài)的繪制圖形提供了基礎(chǔ)。MATLAB的這個(gè)低級(jí)函數(shù)系統(tǒng)稱為句柄圖形(Handle Graphics)。,2019/12/4,34,圖形對(duì)象和對(duì)象句柄,圖形對(duì)象 MATLAB把用于數(shù)據(jù)可視和界面制作的基本繪圖要素稱為句柄圖形對(duì)象(Handle Graphic object)。構(gòu)成MATLAB句柄圖形體系的共有11個(gè)圖形對(duì)象,每個(gè)圖形對(duì)象都可以被獨(dú)立操作。 句柄 每個(gè)具體對(duì)象都有一個(gè)“與生俱來(lái)、終生不變”的獨(dú)特標(biāo)志,即句柄(Handle)。句柄是存取操作圖形對(duì)象的唯一規(guī)范標(biāo)識(shí)符。不同對(duì)象的句柄不可能重復(fù)和混淆。,2019/12/4,35,句柄圖形對(duì)象的層次結(jié)構(gòu),圖形對(duì)象包括:根屏幕(Root Screen)、圖(Figure)、軸(Axes)、線(Line)、塊(Pathes)、面(Surface)、圖像(Image)、文字(Text)、用戶界面控制(User Interface Control)和用戶界面菜單(User Interface Mesnus)。這些對(duì)象的層次結(jié)構(gòu)為下圖樹狀結(jié)構(gòu)所示:,2019/12/4,36,句柄圖形對(duì)象的層次結(jié)構(gòu)(2),處于樹結(jié)構(gòu)最高層的圖形對(duì)象是根屏幕。是所有其他圖形對(duì)象的“父(parent)”。 圖形窗有三個(gè)不同的“子”:軸、界面控制和界面菜單。后兩類用于制作用戶圖形界面,實(shí)現(xiàn)對(duì)人機(jī)交互操作。 軸有7種不同類型的“子”:線、面、方、塊、圖像、字和光。,2019/12/4,37,圖形對(duì)象的屬性,屬性 所有的圖形對(duì)象都有一組定義和刻畫其外貌特征的屬性(Properties)。屬性又由兩部分組成:屬性名和屬性值,即屬性二元對(duì)(Property_Name,Property_Value)在操作屬性的指令中,屬性名和屬性值總是成對(duì)出現(xiàn)。 屬性名是英文字符串。該英文詞組每個(gè)單詞首字母大寫且單詞間沒(méi)有空格。例如:LineStyle。這樣書寫便于閱讀。但在指令中引用屬性名時(shí),為用戶書寫方便,MATLAB采取了兩個(gè)措施:第一,不分字母大小寫,都同樣識(shí)別,第二,只要不引起歧義,屬性名不用寫全。如:用LineStyle時(shí)只輸入line就可以識(shí)別。 缺省屬性 在創(chuàng)建圖形對(duì)象時(shí),MATLAB并不需要用戶對(duì)每個(gè)屬性加以定義。因?yàn)橹灰脩魶](méi)有特別指定,MATLAB會(huì)自動(dòng)給每個(gè)圖形對(duì)象的每個(gè)屬性賦予“廠家定義(Factory-defined)”的屬性值。如果用戶對(duì)MATLAB默認(rèn)的屬性不滿意,可以通過(guò)指令對(duì)相應(yīng)的屬性進(jìn)行修改,或在創(chuàng)建圖形對(duì)象的時(shí)候就直接指定。,2019/12/4,38,圖形對(duì)象的操作,圖形對(duì)象的創(chuàng)建指令 除根屏幕外,所有圖形對(duì)象都由與之同名的指令創(chuàng)建。這些指令均為MATLAB內(nèi)建函數(shù),每個(gè)指令在創(chuàng)建對(duì)象的同時(shí),還可返回該對(duì)象的句柄。 每個(gè)底層函數(shù)只能創(chuàng)建這11個(gè)圖形對(duì)象中的一個(gè),并將它們置于適當(dāng)?shù)母篙厡?duì)象之中。例如:line指令的操作是在當(dāng)前畫軸上利用缺省屬性畫“線”。如果調(diào)用此指令前圖形窗口和畫軸不存在,則MATLAB會(huì)自動(dòng)創(chuàng)建它們,如果已經(jīng)存在,則這條“線”將畫在當(dāng)前軸上,且不影響該軸上的已有的其他對(duì)象。(這與高層繪圖指令不同)。這個(gè)特點(diǎn)非常重要,特別是當(dāng)圖形僅有一部分需要改變時(shí)。,2019/12/4,39,圖形對(duì)象創(chuàng)建指令一覽表,2019/12/4,40,圖形對(duì)象的句柄獲得方法,從圖形創(chuàng)建指令獲取句柄 H=GraphicCommand() 如:Hfigure(n) 追溯法獲取句柄 如果一個(gè)對(duì)象的句柄已知,可以用如下格式獲得其父或子對(duì)象的句柄。 H_pa=get(H_known,Parent) H_ch=get(H_known,Children) 當(dāng)前對(duì)象句柄的獲取 MATLAB有如下三個(gè)專用獲取圖形句柄的指令:前兩個(gè)是直接指令,后一個(gè)是和鼠標(biāo)配合使用。 (1)gcf:獲得當(dāng)前圖形窗口的句柄 (2)gca:獲得當(dāng)前軸的句柄; (3)gco:獲得當(dāng)前對(duì)象的句柄(被鼠標(biāo)最近點(diǎn)擊的圖形對(duì)象): 根據(jù)對(duì)象的特性獲取句柄 H=findobj(H_ori,PN,PV) 在H_ori指定的對(duì)象上,尋找與屬性對(duì)(PN,PV)匹配的對(duì)象句柄。,2019/12/4,41,句柄獲取示例,例1:創(chuàng)建時(shí)獲得句柄 t=0:0.01:2*pi; h=plot(t,sin(t),b); 例2:追溯法獲得句柄 H_pa=get(h,Parent); 例3:獲得當(dāng)前對(duì)象句柄 H5=gcf;H3=gca;H4=gco; 例4:根據(jù)對(duì)象特征獲得句柄 H6=findobj(H5,color,b);,2019/12/4,42,對(duì)象屬性的獲取和設(shè)置,創(chuàng)建對(duì)象時(shí)設(shè)置屬性 H=GraphicCommand(,PN,PV) GraphicCommand代表所有合法的MATALB高層或低層繪圖指令,(PN,PV)是屬性名和屬性值構(gòu)成的屬性對(duì),屬性對(duì)的數(shù)目沒(méi)有限制。 Get和set get(H) 獲取H句柄對(duì)象所有屬性的當(dāng)前值 get(H,PN) 獲取H句柄對(duì)象由PN屬性名指定的屬性的當(dāng)前值 set(H) 顯示H句柄對(duì)象的所有可設(shè)置屬性名和全部可選屬性值 set(H,PN) 顯示H句柄對(duì)象PN指定屬性名的全部供選屬性值 set(H,PN,PV,)設(shè)置H句柄對(duì)象的PN屬性名取PV屬性值,2019/12/4,43,對(duì)象屬性查詢和獲取示例,例: t=0:0.01:2*pi; h=plot(t,sin(t),b); Get(h); Set(h,color,r); Set(h,linestyle,:),2019/12/4,44,句柄圖形對(duì)象在界面編程中的應(yīng)用,一個(gè)主要應(yīng)用是界面中控件之間的數(shù)據(jù)傳遞。 例如:一個(gè)界面上含有一個(gè)Edit。如何獲取Edit的內(nèi)容并被其他控件所利用? 思路:取該控件的句柄,獲得其string屬性的屬性值,傳給其他控件應(yīng)用。,2019/12/4,45,界面編程中對(duì)話框的利用,利用公共對(duì)話框,可以減少編程工作量,且具有良好的界面風(fēng)格。 公共對(duì)話框主要有以下幾種: 文件打開對(duì)話框(uigetfile) 文件保存對(duì)話框 (uiputfile) 顏色設(shè)置對(duì)話框 (uisetcolor) 字體設(shè)置對(duì)話框 (uisetfont) 打印對(duì)話框 (pagesetupdlg) 打印預(yù)覽對(duì)話框 (printpreview),利用MatLab專用對(duì)話框,可以使程序更加友好清晰。 MatLab專用對(duì)話框有以下幾種: 錯(cuò)誤信息對(duì)話框 (errordlg) 幫助對(duì)話框 (helpdlg) 輸入對(duì)話框 (inputdlg) 列表對(duì)話框(listdlg) 信息提示對(duì)話框(msgbox) 問(wèn)題提示對(duì)話框(questdlg) 進(jìn)程條 (waitbar) 警告信息對(duì)話框(warndlg),

注意事項(xiàng)

本文(MATLAB圖形界面制作(GUI)與句柄圖形.ppt)為本站會(huì)員(sh****n)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!