




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-3-7.1第六章句柄圖形和用戶圖形界面設(shè)計(jì)教學(xué)目標(biāo)介紹MATLAB的句柄圖形和GUI開(kāi)發(fā)環(huán)境、開(kāi)發(fā)實(shí)例學(xué)習(xí)要求理解用戶圖形界面程序的構(gòu)造,掌握編程方法2022-3-7.26.1可視化界面環(huán)境可視化界面環(huán)境圖形用戶界面是包含圖形對(duì)象,如:窗口、圖標(biāo)、菜單、按鈕和文本的用戶界面。以某種方式選擇或激活這些對(duì)象,通常引起動(dòng)作或發(fā)生變化。最常見(jiàn)的激活方法是用鼠標(biāo)或其它點(diǎn)設(shè)備去控制屏幕上的鼠標(biāo)指針的運(yùn)動(dòng)。按下鼠標(biāo)按鈕,標(biāo)志著對(duì)象的選擇或其它動(dòng)作。2022-3-7.3進(jìn)入:進(jìn)入:新建文件新建文件命令窗口鍵入命令窗口鍵入GUIDE5個(gè)工具個(gè)工具界面編輯面板界面編輯面板對(duì)象對(duì)齊工具對(duì)象對(duì)齊工具對(duì)象屬性
2、編輯器對(duì)象屬性編輯器對(duì)象瀏覽器對(duì)象瀏覽器菜單編輯器菜單編輯器2022-3-7.42022-3- 設(shè)計(jì)工作區(qū)(The Layout Editor)2022-3- 屬性設(shè)計(jì)器(Properties Inspector )2022-3-7.7屬性設(shè)計(jì)器一、控件風(fēng)格和外觀(1)BackgroundColor:設(shè)置控件背景顏色,使用R G B或顏色定義。(2)CData:在控件上顯示的真彩色圖像,使用矩陣表示。(3)ForegroundColor:文本顏色。(4)String屬性:控件上的文本,以及列表框和彈出菜單的選項(xiàng)。(5)Visible:控件是否可見(jiàn)。2022-3-
3、7.8屬性設(shè)計(jì)器二、對(duì)象的常規(guī)信息(1)Enable屬性: 表示此控件的使能狀態(tài),設(shè)置為on”,表示可選,為“off”時(shí)則表示不可選。(2)Style:控件對(duì)象類型。(3)Tag:控件表示(用戶定義)。(4)TooltipString屬性:提示信息顯示。當(dāng)鼠標(biāo)指針位于此控件上時(shí),顯示提示信息。(5)UserData:用戶指定數(shù)據(jù)。(6)Position:控件對(duì)象的尺寸和位置。(7)Units:設(shè)置控件的位置及大小的單位(8)有關(guān)字體的屬性,如 FontAngle, FontName等。2022-3-7.9屬性設(shè)計(jì)器三、控件回調(diào)函數(shù)的執(zhí)行(1)BusyAction:處理回調(diào)函數(shù)的中斷。有兩種選項(xiàng)
4、:即Cancel:取消中斷事件,queue:排隊(duì)(默認(rèn)設(shè)置)。(2)ButtonDownFcn屬性:按鈕按下時(shí)的處理函數(shù)。(3)CallBack屬性:是連接程序界面整個(gè)程序系統(tǒng)的實(shí)質(zhì)性功能的紐帶。該屬性值應(yīng)該為一個(gè)可以直接求值的字符串,在該對(duì)象被選中和改變時(shí),系統(tǒng)將自動(dòng)地對(duì)字符串進(jìn)行求值。(4)CreateFcn:在對(duì)象產(chǎn)生過(guò)程中執(zhí)行的回調(diào)函數(shù)。(5)DeleteFcn:刪除對(duì)象過(guò)程中執(zhí)行的回調(diào)函數(shù)。(6)Interruptible屬性:指定當(dāng)前的回調(diào)函數(shù)在執(zhí)行時(shí)是否允許中斷,去執(zhí)行其他的函數(shù)。2022-3-7.10屬性設(shè)計(jì)器四、控件當(dāng)前狀態(tài)信息(1)ListboxTop:在列表框中顯示的最頂
5、層的字符串的索引。(2)Max:最大值。(3)Min:最小值。(4)Value:控件的當(dāng)前值。2022-3- 對(duì)象瀏覽器(Object Browser)2022-3- 菜單編輯器(Menu Editor)菜單編輯器提供了兩種菜單類型的編輯功能:菜單編輯器提供了兩種菜單類型的編輯功能:下拉式菜單(Menu Bar) 彈出式菜單(Context Menu)2022-3- M文件編輯器 通過(guò)選擇M-,可以打開(kāi)相應(yīng).fig文件的.m文件源程序。6.1.6 其它工具 align objects Grids and Rulers The Tab Ord
6、er Editor2022-3-7.14公用對(duì)話框文件文件選擇對(duì)話框 uigetfile顏色選擇對(duì)話框 uisetcolor字體選擇對(duì)話框 uisetfont頁(yè)面設(shè)置對(duì)話框 pagedlg警告與錯(cuò)誤信息對(duì)話框 warndlg errordlg簡(jiǎn)單幫助信息對(duì)話框 helpdlg2022-3-7.156.2 MATLAB圖形界面基本控件圖形界面基本控件界面設(shè)計(jì)與控件是密不可分的,界面設(shè)計(jì)與控件是密不可分的,MATLAB提供了一些基本控件,如靜態(tài)提供了一些基本控件,如靜態(tài)文本,編輯控件,列表框等。是獨(dú)立的文本,編輯控件,列表框等。是獨(dú)立的小部件,也是一個(gè)窗口,承擔(dān)與用戶的小部件,也是一個(gè)窗口,承擔(dān)與
7、用戶的交互工作。交互工作。下面介紹常用的基本控件下面介紹常用的基本控件2022-3-7.161靜態(tài)文本(靜態(tài)文本(Static Text) 2編輯框(編輯框(Edit Text)控件)控件3列表框(列表框(Listbox)控件)控件 4滾動(dòng)條(滾動(dòng)條(Slider)控件)控件5按鈕(按鈕(Push Button)控件)控件 6切換按鈕(切換按鈕(Toggle Button)控件)控件7單選按鈕(單選按鈕(Radio Button)控件)控件8方框(方框(Frame)控件)控件9檢檢取框(取框(Check Box)控件)控件10彈出式菜單(彈出式菜單(Popup Menu)控件)控件11坐標(biāo)軸(
8、坐標(biāo)軸(Axes)控件)控件2022-3-7.171靜態(tài)文本(靜態(tài)文本(Static Text)用于顯示字符串,不接受輸入信息,一般顯示標(biāo)題用于顯示字符串,不接受輸入信息,一般顯示標(biāo)題2編輯框(編輯框(Edit Text)控件)控件最常用的控件,可用于單行和多行文本的輸入,功最常用的控件,可用于單行和多行文本的輸入,功能強(qiáng)大。能強(qiáng)大。3列表框(列表框(Listbox)控件)控件顯示一個(gè)文字列表,用戶可以選擇其中一項(xiàng)和多項(xiàng)。顯示一個(gè)文字列表,用戶可以選擇其中一項(xiàng)和多項(xiàng)。以一行的形式顯示。以一行的形式顯示。4滾動(dòng)條(滾動(dòng)條(Slider)控件)控件 2022-3-7.185按鈕(按鈕(Push B
9、utton)控件)控件最常用的控件,用于響應(yīng)用戶的鼠標(biāo)按鍵操作。最常用的控件,用于響應(yīng)用戶的鼠標(biāo)按鍵操作。6. 切換按鈕(切換按鈕(Toggle Button)控件)控件切換按鈕有兩個(gè)狀態(tài),壓下和彈起。切換按鈕有兩個(gè)狀態(tài),壓下和彈起。7. 單選按鈕(單選按鈕(Radio Button)控件)控件多個(gè)選項(xiàng),使用時(shí)只選擇一個(gè)。多個(gè)選項(xiàng),使用時(shí)只選擇一個(gè)。8. 檢檢取框(取框(Check Box)控件)控件多個(gè)選項(xiàng),使用時(shí)一次可多選。多個(gè)選項(xiàng),使用時(shí)一次可多選。9. 彈出式菜單(彈出式菜單(Popup Menu)控件)控件2022-3-7.196.3 句柄圖形MATLAB提供了一組用于創(chuàng)建及操作提供
10、了一組用于創(chuàng)建及操作線、面、文字和像等基本圖形對(duì)象的低線、面、文字和像等基本圖形對(duì)象的低級(jí)函數(shù),這組命令可以對(duì)各圖形對(duì)象進(jìn)級(jí)函數(shù),這組命令可以對(duì)各圖形對(duì)象進(jìn)行更為細(xì)致的修飾和控制,低級(jí)函數(shù)不行更為細(xì)致的修飾和控制,低級(jí)函數(shù)不僅可以產(chǎn)生更為復(fù)雜的圖形,而且為動(dòng)僅可以產(chǎn)生更為復(fù)雜的圖形,而且為動(dòng)態(tài)圖形提供了基礎(chǔ)。這個(gè)系統(tǒng)稱為句柄態(tài)圖形提供了基礎(chǔ)。這個(gè)系統(tǒng)稱為句柄圖形系統(tǒng)。圖形系統(tǒng)。2022-3-7.20高層繪圖函數(shù)是對(duì)整個(gè)圖形進(jìn)行操作的,圖形每一部分的屬性都是按缺省方式設(shè)置的。充分體現(xiàn)了MATLAB語(yǔ)言的實(shí)用性。在高層繪圖中對(duì)圖形對(duì)象的描述一般是缺省的或由高層繪圖函數(shù)自動(dòng)設(shè)置的,因此對(duì)用戶來(lái)說(shuō)幾乎
11、是不透明的。底層繪圖函數(shù)可以定制圖形,對(duì)圖形的每一部分進(jìn)行控制,用戶可以用來(lái)開(kāi)發(fā)用戶界面以及各專業(yè)的專用圖形。充分體現(xiàn)了MATLAB語(yǔ)言的開(kāi)發(fā)性2022-3-句柄圖形的層次關(guān)系句柄圖形的層次關(guān)系根對(duì)象根對(duì)象Root screen圖形窗口對(duì)象圖形窗口對(duì)象figures坐標(biāo)軸坐標(biāo)軸Axes界面控件界面控件菜單菜單右鍵菜單右鍵菜單文字文字線對(duì)象線對(duì)象表面圖表面圖圖像圖像光源光源三維塊三維塊矩形塊矩形塊右鍵菜單右鍵菜單2022-3-7.22句柄圖形:利用底層繪圖函數(shù),通過(guò)對(duì)對(duì)象屬性的設(shè)置(Handle Graphics)與操作實(shí)現(xiàn)繪圖。句柄圖形中所有圖形操作都是針對(duì)圖形對(duì)象而言的。句
12、柄圖形充分體現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)。2022-3-7.23句柄圖形的特點(diǎn)v句柄圖形可以隨意改變MATLAB生成圖形的方式。v句柄圖形允許你定制圖形的許多特性,無(wú)論是對(duì)圖形做一點(diǎn)小改動(dòng),還是影響所有圖形輸出的整體改動(dòng)。v句柄圖形的特性高層繪圖函數(shù)是無(wú)法實(shí)現(xiàn)的2022-3-7.24創(chuàng)建圖形對(duì)象的底層函數(shù)figure創(chuàng)建圖形窗口調(diào)用格式: h=figure(n) n為窗口序號(hào)uicontrol圖形界面控制調(diào)用格式: h=uicontrol(property,value)property/value確定控制類型2022-3-7.25uimenu創(chuàng)建用戶界面菜單調(diào)用格式: h=uimenu(proper
13、ty,value)property/value 確定菜單形式。axes 創(chuàng)建軸對(duì)象 h=axes(property, ) 定義軸對(duì)象的位置與大小 left, bottom width,height2022-3-7.26line 創(chuàng)建線對(duì)象 h=line(x,y,z)patch 創(chuàng)建塊對(duì)象 h=patch(x,y,z,c) x,y,z定義多邊形,c確定填充顏色。surface 創(chuàng)建面對(duì)象 h=surface(x,y,z,c) x,y,z三維曲面坐標(biāo),c顏色矩陣。 二維畫(huà)線 三維畫(huà)線2022-3-7.27image 顯示圖象 h=image(x); x為圖像矩陣text 標(biāo)注文字 h=text(x
14、,y,string) 每個(gè)底層函數(shù)只能創(chuàng)建一個(gè)圖形對(duì)象,并將它們置于適當(dāng)?shù)母篙厡?duì)象中。但句柄繪圖中上述圖形對(duì)象都是用戶需要經(jīng)常使用的,所以要作到心中有數(shù),用句柄設(shè)置圖形對(duì)象的屬性。確定標(biāo)注位置標(biāo)注字符串2022-3-7.286.3.2 圖形窗口對(duì)象的屬性所有圖形窗口都有決定其如何表現(xiàn)的屬性,一類是共性:包括類型、可視、剪輯及中斷允許等。另一類是特性:針對(duì)某一對(duì)象獨(dú)有的如定義“面”的數(shù)據(jù),“軸”的刻度等。屬性可以在界面編輯面板的ToolsProperty Inspector菜單項(xiàng)設(shè)置。圖形窗口對(duì)象本身是一個(gè)窗口,具有一般窗口對(duì)象的共同屬性。其常用屬性如下:Color、MenuBar、Name、N
15、umberTitle、Unites、Position、Resize。2022-3-7.291.Color屬性圖形背景顏色。RGB: 0 0 0黑色,1 1 1白色2.MenuBar屬性是否在圖形窗口的頂部顯示圖形菜單欄。None缺省設(shè)置3.Name屬性窗口標(biāo)題4.NumberTitle屬性在圖形窗口中是否加上圖形編號(hào)。5.Units屬性像素Pixels、英寸inches、厘米Centimeters6.Position屬性設(shè)置圖形顯示的大小的位置。2022-3-7.307.Resize屬性能否改變窗口的大小。8.各種回調(diào)函數(shù)Callback:在對(duì)象被選中時(shí)執(zhí)行的回調(diào)函數(shù);ButtonDownFc
16、n:按下界面上按鈕所執(zhí)行的函數(shù);KeyPressFcn:在鍵盤按下時(shí)執(zhí)行的函數(shù);WindowButtonDownFcn:在圖形是窗口中移動(dòng)鼠標(biāo)時(shí)調(diào)用的函數(shù)。2022-3-7.316.3.3句柄與句柄獲取什么是句柄? 句柄(handle)是圖形對(duì)象的標(biāo)識(shí)代碼,標(biāo)識(shí)代碼含有圖形對(duì)象的各種必要的屬性信息。各圖形對(duì)象的句柄數(shù)據(jù)格式: 根屏幕 0 圖形窗口 整數(shù),表示圖形窗口數(shù) 其它對(duì)象 對(duì)應(yīng)的符點(diǎn)數(shù)2022-3-7.32所有能創(chuàng)建圖形對(duì)象的MATLAB函數(shù)都可給出所創(chuàng)建圖形對(duì)象的句柄例:創(chuàng)建1號(hào)窗口,返回句柄 h=figure(1) h=1 返回值為窗口號(hào)數(shù)例:h=line(1:6,1:6)創(chuàng)建線對(duì)象
17、的同時(shí)也建立了一個(gè)唯一的句柄 變量h是句柄值浮點(diǎn)數(shù)2022-3-7.33圖形對(duì)象屬性的獲得與設(shè)置要設(shè)置圖形對(duì)象屬性值,首先要知道該對(duì)象的句柄,基本方法有以下幾種。從圖形創(chuàng)建指令獲取追溯法獲取句柄當(dāng)前對(duì)象句柄的獲取根據(jù)對(duì)象特性獲取句柄根據(jù)對(duì)象”渾名“(tag)獲取2022-3-7.341.從圖形創(chuàng)建 句柄所有高層或底層指令都能從圖形創(chuàng)建時(shí)獲取句柄。H_gc=graphic Ccommand2. 追溯法獲取句柄若一個(gè)對(duì)象的句柄為H_know,那么可用如下格式獲取其父或其子對(duì)象句柄H_pa=get(H_know,parent) H_ch=get(H_know,children)3.當(dāng)前對(duì)象句柄的獲取
18、Gcf:當(dāng)前窗口對(duì)象的句柄 Gca:當(dāng)前軸對(duì)象的句柄Geo:獲取“被鼠標(biāo)最近點(diǎn)擊”的圖形對(duì)象句柄2022-3-7.354.根據(jù)對(duì)象特性獲取句柄利用對(duì)象特性搜索對(duì)象句柄可以得到較高的搜索速度H=findobj(H_ori,”PN”,”PV”)在H_ori制定對(duì)象上,尋找與屬性對(duì)(”PN”,”PV”)匹配的對(duì)象句柄5.根據(jù)“渾名”(tag)獲取可以通過(guò)“tag”屬性,給對(duì)象一個(gè)“渾名”,然后可以通過(guò)“渾名”獲取該對(duì)象的句柄設(shè)置“渾名”的兩個(gè)方法創(chuàng)建時(shí)賦名:plot (x,y,“Tag”,A4)用set完成:h=plot(x,y) set(h,“Tag”,A4)2022-3-7.36操作格式:h=g
19、cf 將當(dāng)前窗口對(duì)象的句柄返回hget(h)或get(gcf) 查閱當(dāng)前窗口對(duì)象的屬性delete(gcf) 刪除當(dāng)前窗口的屬性例:h=line(x,y)get(h)2022-3-7.37例:創(chuàng)建一個(gè)線對(duì)象并返回線對(duì)象的句柄值 h1=line(0:10,0:10)h1 = 57.0001h1為句柄的代碼值0123456789100123456789102022-3-7.38查閱線對(duì)象的屬性名稱和屬性值get(h1)Color = 1 1 0EraseMode = normalLineStyle = -LineWidth = 0.5MarkerSize = 6Xdata = (1 by 11)
20、Ydata = (1 by 11) Zdata = 2022-3-7.39 ButtonDownFcn = Children = Clipping = onInterruptible = noParent = 56.0001Type = lineUserData = Visible = on根據(jù)軸是線對(duì)象的父代,可查軸的句柄 get(gca)2022-3-7.40可查色序get(gca,colororder)ans = 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 12022-3-7.41set: 改變圖形對(duì)象的屬性設(shè)置線條和窗口的顏色set(h1,color,1 0 0
21、)set(h1,color,1 0.5 0)024681001234567891002468100123456789102022-3-7.42set(gcf,color,0.5 0.5 0.5)set(gcf,color,0.5 0.6 0.8)0123456789100123456789100123456789100123456789102022-3-7.43例:作正弦、余弦曲線,將正弦曲線改為虛線,將余弦曲線幅度減為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:)
22、01234567-1-0.8-0.6-0.4-0.60.812022-3-7.44首先查詢各對(duì)象的屬性get(gcf) h=get(gcf,children)h = 60.0004hh=get(gca,children)hh = 70.0004 69.0004 68.00042022-3-7.4501234567-1-0.8-0.6-0.4-0.60.81y11=get(hh(2),ydata);y22=y11/2;set(hh(2),ydata,y22)set(hh(3),linestyle,:)2022-3-7.466.4 對(duì)象的屬性操作 控制一個(gè)圖形對(duì)象是通過(guò)句柄實(shí)現(xiàn)的,具體是通過(guò)句柄操作函數(shù)get,set將某對(duì)象句柄屬性作設(shè)置與修改。對(duì)象屬性的直接操作 對(duì)象屬性的直接操作是通過(guò)當(dāng)前句柄來(lái)實(shí)現(xiàn)的,所以首先要獲得當(dāng)前句柄值以及對(duì)象的屬性,然后再查詢或修改。2022-3-7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度礦山事故水池建設(shè)與安全生產(chǎn)保障合同
- 二零二五年度城市別墅購(gòu)房定金合同
- 2025年度景觀施工項(xiàng)目安全監(jiān)理合同
- 2025年度電視劇劇本編排與制作合同
- 二零二五年度廣告?zhèn)髅絼趧?wù)派遣員工服務(wù)合同
- 酒店住宿意外事故責(zé)任免除與2025年度安全保障協(xié)議
- 二零二五年度老年贍養(yǎng)贍養(yǎng)金及醫(yī)療救助合同
- 辦公區(qū)域搬遷安排及流程梳理通知
- 關(guān)于銷售團(tuán)隊(duì)建設(shè)與管理的年度工作總結(jié)報(bào)告
- 美發(fā)店勞動(dòng)合同協(xié)議書(shū)
- 2024解析:第十二章機(jī)械效率-基礎(chǔ)練(解析版)
- 建筑工程項(xiàng)目合作備忘錄
- 靈活用工管理
- 全媒體運(yùn)營(yíng)師試題庫(kù)(含答案)
- 2024至2030年中國(guó)礦用隔爆型監(jiān)控?cái)z像儀行業(yè)投資前景及策略咨詢研究報(bào)告
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第二單元學(xué)習(xí)職業(yè)禮儀
- 北京市燕山區(qū)中考一模英語(yǔ)試題及答案
- 腦卒中-腦卒中的康復(fù)治療
- 2024至2030年中國(guó)超聲波加工機(jī)床行業(yè)深度調(diào)研及發(fā)展預(yù)測(cè)報(bào)告
- 十七個(gè)崗位安全操作規(guī)程手冊(cè)
- 疫情統(tǒng)計(jì)學(xué)智慧樹(shù)知到答案2024年浙江大學(xué)
評(píng)論
0/150
提交評(píng)論