![06第六章句柄圖形和用戶圖形界面設計課件_第1頁](http://file4.renrendoc.com/view/df5048943688449d193ab737af61e33d/df5048943688449d193ab737af61e33d1.gif)
![06第六章句柄圖形和用戶圖形界面設計課件_第2頁](http://file4.renrendoc.com/view/df5048943688449d193ab737af61e33d/df5048943688449d193ab737af61e33d2.gif)
![06第六章句柄圖形和用戶圖形界面設計課件_第3頁](http://file4.renrendoc.com/view/df5048943688449d193ab737af61e33d/df5048943688449d193ab737af61e33d3.gif)
![06第六章句柄圖形和用戶圖形界面設計課件_第4頁](http://file4.renrendoc.com/view/df5048943688449d193ab737af61e33d/df5048943688449d193ab737af61e33d4.gif)
![06第六章句柄圖形和用戶圖形界面設計課件_第5頁](http://file4.renrendoc.com/view/df5048943688449d193ab737af61e33d/df5048943688449d193ab737af61e33d5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章
句柄圖形和用戶圖形界面設計教學目標介紹MATLAB的句柄圖形和GUI開發(fā)環(huán)境、開發(fā)實例學習要求理解用戶圖形界面程序的構造,掌握編程方法2023/10/616.1可視化界面環(huán)境圖形用戶界面是包含圖形對象,如:窗口、圖標、菜單、按鈕和文本的用戶界面。以某種方式選擇或激活這些對象,通常引起動作或發(fā)生變化。最常見的激活方法是用鼠標或其它點設備去控制屏幕上的鼠標指針的運動。按下鼠標按鈕,標志著對象的選擇或其它動作。2023/10/62進入:新建文件命令窗口鍵入GUIDE5個工具界面編輯面板對象對齊工具對象屬性編輯器對象瀏覽器菜單編輯器2023/10/632023/10/646.1.1設計工作區(qū)(TheLayoutEditor)2023/10/656.1.2屬性設計器(PropertiesInspector)2023/10/66屬性設計器一、控件風格和外觀(1)BackgroundColor:設置控件背景顏色,使用[RGB]或顏色定義。(2)CData:在控件上顯示的真彩色圖像,使用矩陣表示。(3)ForegroundColor:文本顏色。(4)String屬性:控件上的文本,以及列表框和彈出菜單的選項。(5)Visible:控件是否可見。2023/10/67屬性設計器二、對象的常規(guī)信息(1)Enable屬性:表示此控件的使能狀態(tài),設置為on”,表示可選,為“off”時則表示不可選。(2)Style:控件對象類型。(3)Tag:控件表示(用戶定義)。(4)TooltipString屬性:提示信息顯示。當鼠標指針位于此控件上時,顯示提示信息。(5)UserData:用戶指定數(shù)據。(6)Position:控件對象的尺寸和位置。(7)Units:設置控件的位置及大小的單位(8)有關字體的屬性,如FontAngle,F(xiàn)ontName等。2023/10/68屬性設計器三、控件回調函數(shù)的執(zhí)行(1)BusyAction:處理回調函數(shù)的中斷。有兩種選項:即Cancel:取消中斷事件,queue:排隊(默認設置)。(2)ButtonDownFcn屬性:按鈕按下時的處理函數(shù)。(3)CallBack屬性:是連接程序界面整個程序系統(tǒng)的實質性功能的紐帶。該屬性值應該為一個可以直接求值的字符串,在該對象被選中和改變時,系統(tǒng)將自動地對字符串進行求值。(4)CreateFcn:在對象產生過程中執(zhí)行的回調函數(shù)。(5)DeleteFcn:刪除對象過程中執(zhí)行的回調函數(shù)。(6)Interruptible屬性:指定當前的回調函數(shù)在執(zhí)行時是否允許中斷,去執(zhí)行其他的函數(shù)。2023/10/69屬性設計器四、控件當前狀態(tài)信息(1)ListboxTop:在列表框中顯示的最頂層的字符串的索引。(2)Max:最大值。(3)Min:最小值。(4)Value:控件的當前值。2023/10/6106.1.3對象瀏覽器(ObjectBrowser)2023/10/6116.1.4菜單編輯器(MenuEditor)菜單編輯器提供了兩種菜單類型的編輯功能:下拉式菜單(MenuBar)彈出式菜單(ContextMenu)2023/10/612 6.1.5M文件編輯器通過選擇M-FileEditor,可以打開相應.fig文件的.m文件源程序。 6.1.6其它工具
alignobjectsGridsandRulersTheTabOrderEditor2023/10/613公用對話框文件文件選擇對話框uigetfile顏色選擇對話框uisetcolor字體選擇對話框uisetfont頁面設置對話框pagedlg警告與錯誤信息對話框warndlgerrordlg簡單幫助信息對話框helpdlg2023/10/6146.2MATLAB圖形界面基本控件 界面設計與控件是密不可分的,MATLAB提供了一些基本控件,如靜態(tài)文本,編輯控件,列表框等。是獨立的小部件,也是一個窗口,承擔與用戶的交互工作。 下面介紹常用的基本控件
2023/10/6151.靜態(tài)文本(StaticText)2.編輯框(EditText)控件3.列表框(Listbox)控件4.滾動條(Slider)控件5.按鈕(PushButton)控件6.切換按鈕(ToggleButton)控件7.單選按鈕(RadioButton)控件8.方框(Frame)控件9.檢取框(CheckBox)控件 10.彈出式菜單(PopupMenu)控件11.坐標軸(Axes)控件2023/10/6161.靜態(tài)文本(StaticText) 用于顯示字符串,不接受輸入信息,一般顯示標題2.編輯框(EditText)控件
最常用的控件,可用于單行和多行文本的輸入,功能強大。3.列表框(Listbox)控件
顯示一個文字列表,用戶可以選擇其中一項和多項。以一行的形式顯示。4.滾動條(Slider)控件
2023/10/6175.按鈕(PushButton)控件 最常用的控件,用于響應用戶的鼠標按鍵操作。6.切換按鈕(ToggleButton)控件
切換按鈕有兩個狀態(tài),壓下和彈起。7.單選按鈕(RadioButton)控件 多個選項,使用時只選擇一個。8. 檢取框(CheckBox)控件 多個選項,使用時一次可多選。9.彈出式菜單(PopupMenu)控件
2023/10/6186.3句柄圖形 MATLAB提供了一組用于創(chuàng)建及操作線、面、文字和像等基本圖形對象的低級函數(shù),這組命令可以對各圖形對象進行更為細致的修飾和控制,低級函數(shù)不僅可以產生更為復雜的圖形,而且為動態(tài)圖形提供了基礎。這個系統(tǒng)稱為句柄圖形系統(tǒng)。2023/10/619 高層繪圖函數(shù)——是對整個圖形進行操作的,圖形每一部分的屬性都是按缺省方式設置的。充分體現(xiàn)了MATLAB語言的實用性。
在高層繪圖中對圖形對象的描述一般是缺省的或由高層繪圖函數(shù)自動設置的,因此對用戶來說幾乎是不透明的。 底層繪圖函數(shù)——可以定制圖形,對圖形的每一部分進行控制,用戶可以用來開發(fā)用戶界面以及各專業(yè)的專用圖形。充分體現(xiàn)了MATLAB語言的開發(fā)性2023/10/6206.3.1句柄圖形的層次關系根對象Rootscreen圖形窗口對象figures坐標軸Axes界面控件菜單右鍵菜單文字線對象表面圖圖像光源三維塊矩形塊右鍵菜單2023/10/621句柄圖形:利用底層繪圖函數(shù),通過對對象屬性的設置(HandleGraphics)與操作實現(xiàn)繪圖。句柄圖形中所有圖形操作都是針對圖形對象而言的。句柄圖形充分體現(xiàn)了面向對象的程序設計。2023/10/622句柄圖形的特點句柄圖形可以隨意改變MATLAB生成圖形的方式。句柄圖形允許你定制圖形的許多特性,無論是對圖形做一點小改動,還是影響所有圖形輸出的整體改動。句柄圖形的特性高層繪圖函數(shù)是無法實現(xiàn)的2023/10/623創(chuàng)建圖形對象的底層函數(shù)figure
創(chuàng)建圖形窗口調用格式:h=figure(n)n為窗口序號uicontrol
圖形界面控制調用格式:h=uicontrol(‘property’,value)property/value確定控制類型2023/10/624uimenu
創(chuàng)建用戶界面菜單調用格式:
h=uimenu(‘property’,value)property/value確定菜單形式。axes
創(chuàng)建軸對象
h=axes(‘property’,)
定義軸對象的位置與大小
left,bottom
width,height2023/10/625line
創(chuàng)建線對象
h=line(x,y,z)patch創(chuàng)建塊對象
h=patch(x,y,z,c)x,y,z定義多邊形,c確定填充顏色。surface創(chuàng)建面對象
h=surface(x,y,z,c)x,y,z三維曲面坐標,c顏色矩陣。
二維畫線
三維畫線2023/10/626image
顯示圖象
h=image(x);x為圖像矩陣text
標注文字
h=text(x,y,’string’)
每個底層函數(shù)只能創(chuàng)建一個圖形對象,并將它們置于適當?shù)母篙厡ο笾小5浔L圖中上述圖形對象都是用戶需要經常使用的,所以要作到心中有數(shù),用句柄設置圖形對象的屬性。確定標注位置標注字符串2023/10/6276.3.2圖形窗口對象的屬性 所有圖形窗口都有決定其如何表現(xiàn)的屬性,一類是共性:包括類型、可視、剪輯及中斷允許等。另一類是特性:針對某一對象獨有的如定義“面”的數(shù)據,“軸”的刻度等。屬性可以在界面編輯面板的Tools\PropertyInspector菜單項設置。 圖形窗口對象本身是一個窗口,具有一般窗口對象的共同屬性。其常用屬性如下:Color、MenuBar、Name、NumberTitle、Unites、Position、Resize。2023/10/6281.Color屬性圖形背景顏色。RGB:[000]黑色,[111]白色2.MenuBar屬性是否在圖形窗口的頂部顯示圖形菜單欄。None缺省設置3.Name屬性窗口標題4.NumberTitle屬性在圖形窗口中是否加上圖形編號。5.Units屬性像素Pixels、英寸inches、厘米Centimeters6.Position屬性設置圖形顯示的大小的位置。2023/10/6297.Resize屬性能否改變窗口的大小。8.各種回調函數(shù)Callback:在對象被選中時執(zhí)行的回調函數(shù);ButtonDownFcn:按下界面上按鈕所執(zhí)行的函數(shù);KeyPressFcn:在鍵盤按下時執(zhí)行的函數(shù);WindowButtonDownFcn:在圖形是窗口中移動鼠標時調用的函數(shù)。2023/10/6306.3.3句柄與句柄獲取什么是句柄?句柄(handle)是圖形對象的標識代碼,標識代碼含有圖形對象的各種必要的屬性信息。各圖形對象的句柄數(shù)據格式:
根屏幕0
圖形窗口整數(shù),表示圖形窗口數(shù)其它對象對應的符點數(shù)2023/10/631所有能創(chuàng)建圖形對象的MATLAB函數(shù)都可給出所創(chuàng)建圖形對象的句柄例:創(chuàng)建1號窗口,返回句柄
h=figure(1)h=1返回值為窗口號數(shù)例:h=line(1:6,1:6)創(chuàng)建線對象的同時也建立了一個唯一的句柄變量h是句柄值——浮點數(shù)2023/10/632圖形對象屬性的獲得與設置 要設置圖形對象屬性值,首先要知道該對象的句柄,基本方法有以下幾種。
從圖形創(chuàng)建指令獲取 追溯法獲取句柄 當前對象句柄的獲取 根據對象特性獲取句柄 根據對象”渾名“(tag)獲取2023/10/633 1.從圖形創(chuàng)建句柄 所有高層或底層指令都能從圖形創(chuàng)建時獲取句柄。 H_gc=graphicCcommand 2.追溯法獲取句柄 若一個對象的句柄為H_know,那么可用如下格式獲取其父或其子對象句柄H_pa=get(H_know,’parent’)H_ch=get(H_know,’children’) 3.當前對象句柄的獲取Gcf:當前窗口對象的句柄Gca:當前軸對象的句柄Geo:獲取“被鼠標最近點擊”的圖形對象句柄2023/10/6344.根據對象特性獲取句柄利用對象特性搜索對象句柄可以得到較高的搜索速度H=findobj(H_ori,”PN”,”PV”)在H_ori制定對象上,尋找與屬性對(”PN”,”PV”)匹配的對象句柄5.根據“渾名”(tag)獲取可以通過“tag”屬性,給對象一個“渾名”,然后可以通過“渾名”獲取該對象的句柄設置“渾名”的兩個方法創(chuàng)建時賦名:plot(x,y,“Tag”,‘A4’)用set完成:h=plot(x,y) set(h,“Tag”,‘A4’)2023/10/635操作格式:h=gcf將當前窗口對象的句柄返回hget(h)或get(gcf)查閱當前窗口對象的屬性delete(gcf)刪除當前窗口的屬性例:h=line(x,y)get(h)2023/10/636例:創(chuàng)建一個線對象并返回線對象的句柄值
h1=line([0:10],[0:10])h1=57.0001h1為句柄的代碼值2023/10/637查閱線對象的屬性名稱和屬性值get(h1)
Color=[110] EraseMode=normal LineStyle=- LineWidth=[0.5] MarkerSize=[6] Xdata=[(1by11)] Ydata=[(1by11)] Zdata=[] 2023/10/638ButtonDownFcn=
Children=[]
Clipping=on
Interruptible=no
Parent=[56.0001]
Type=line
UserData=[]
Visible=on根據軸是線對象的父代,可查軸的句柄
get(gca)2023/10/639可查色序get(gca,'colororder')ans=1101010111000100012023/10/640set:改變圖形對象的屬性設置線條和窗口的顏色set(h1,'color',[100])set(h1,'color',[10.50])2023/10/641set(gcf,'color',[0.50.50.5])set(gcf,'color',[0.50.60.8])2023/10/642例:作正弦、余弦曲線,將正弦曲線改為虛線,將余弦曲線幅度減為1/2高度,如何用句柄實現(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:')2023/10/643首先查詢各對象的屬性get(gcf)···h=get(gcf,'children')h=60.0004hh=get(gca,'children')hh=70.000469.000468.00042023/10/644y11=get(hh(2),'ydata');y22=y11/2;set(hh(2),'ydata',y22)set(hh(3),'linestyle',':')2023/10/6456.4對象的屬性操作※控制一個圖形對象是通過句柄實現(xiàn)的,具體是通過句柄操作函數(shù)get,set將某對象句柄屬性作設置與修改。對象屬性的直接操作
對象屬性的直接操作是通過當前句柄來實現(xiàn)的,所以首先要獲得當前句柄值以及對象的屬性,然后再查詢或修改。2023/10/646get(h)get(h,’propertyname’)set(h)set(h,’propertyname’,value)set(h,’屬性名稱’,‘新屬性’)‘color’,’r’‘linestyle’,’:’‘figurecolor’,’m’2023/10/6472.對象屬性的繼承操作對象屬性的繼承操作是通過父代對象,設置缺省對象屬性來實現(xiàn)的。父代句柄屬性中設置缺省值后,所有子代對象均可以繼承該屬性的缺省值。屬性缺省值的描述結構為:
Dfault+對象名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年陳夢與劉陽離婚協(xié)議書策劃模板
- 雙邊教育合作諒解協(xié)議書模板
- 2025年市場調研與分析咨詢服務委托協(xié)議
- 2025年供應商與裝修企業(yè)合作框架協(xié)議
- 2025年企業(yè)合同解除操作規(guī)范
- 2025年勞動合同標準范本分享
- 2025年倉儲糧食管理協(xié)議
- 2025年住宅物業(yè)購買補充協(xié)議
- 2025年勞動人員雇傭協(xié)議
- 2025年八人合伙企業(yè)股權分配協(xié)議書
- (完整)PEP人教版小學生英語單詞四年級上冊卡片(可直接打印)
- 面神經疾病課件
- 漢代儒學大師董仲舒思想課件
- 普通沖床設備日常點檢標準作業(yè)指導書
- 科技文獻檢索與利用PPT通用課件
- 《紅樓夢講稿》PPT課件
- DB33∕T 628.1-2021 交通建設工程工程量清單計價規(guī)范 第1部分:公路工程
- 吉祥喜金剛現(xiàn)證中品事業(yè)六支妙嚴(節(jié)錄)
- 國民中小學九年一貫課程綱要語文學習領域(國語文)
- 最全的人教初中數(shù)學常用概念、公式和定理
- 橋面結構現(xiàn)澆部分施工方案
評論
0/150
提交評論