資源描述:
《GUI圖形用戶界面入門(5)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、GUI圖形用戶界面入門(5)用戶界面是人,即用戶與計(jì)算機(jī)或計(jì)算機(jī)程序的接觸點(diǎn)或交互方式,是用戶與計(jì)算機(jī)進(jìn)行信息交流的方式。計(jì)算機(jī)在屏幕顯示圖形和文本,若有揚(yáng)聲器還可產(chǎn)生聲音。用戶通過輸入設(shè)備,如:鍵盤、鼠標(biāo)、跟蹤球、繪制板或麥克風(fēng),與計(jì)算機(jī)通訊。用戶界面設(shè)定了如何觀看和如何感知計(jì)算機(jī)、操作系統(tǒng)或應(yīng)用程序。通常,多是根據(jù)悅目的結(jié)構(gòu)和用戶界面功能的有效性來選擇計(jì)算機(jī)或程序。圖形用戶界面或GUI是包含圖形對(duì)象,如:窗口、圖標(biāo)、菜單和文本的用戶界面。以某種方式選擇或激活這些對(duì)象,通常引起動(dòng)作或發(fā)生變化。最常見的激活方法
2、是用鼠標(biāo)或其它點(diǎn)擊設(shè)備去控制屏幕上的鼠標(biāo)指針的運(yùn)動(dòng)。按下鼠標(biāo)按鈕,標(biāo)志著對(duì)象的選擇或其它動(dòng)作。與上一章討論MATLAB句柄圖形功能的相同方式,它讓用戶按規(guī)定設(shè)計(jì)MATLAB顯示信息的方法,本章所描述的圖形用戶界面的功能,它讓用戶定制用戶與MATLAB的交互方式。命令窗口不是唯一與MATLAB的交互方式。本章將說明圖形句柄uicontrol和uimenu對(duì)象的使用,把圖形界面加到MATLAB的函數(shù)和M文件。uimenu對(duì)象能在圖形窗口中產(chǎn)生下拉式菜單和子菜單。uicontrol對(duì)象能建立如按鈕,滾動(dòng)條,彈出式菜單
3、以及文本框等對(duì)象。MATLAB在demo命令中包含了GUI功能的極好例子。>>demo研究該命令,以了解uimenu和uicontrol如何給MATLAB函數(shù)提供交互輸入。21.1誰創(chuàng)建圖形界面GUI?為什么?在運(yùn)行了demo例子后,很可能會(huì)問“為什么要在MATLAB中建立一個(gè)GUI?”這是一個(gè)很好的問題,簡(jiǎn)單的回答是可能并不需要.使用MATLAB來分析數(shù)據(jù),求解問題,繪制結(jié)果的絕大多數(shù)的人,并不會(huì)發(fā)現(xiàn)GUI工具很有用。但另一方面,GUI可以在MATLAB中生成非常有效的工具和應(yīng)用程序,或是建立演示工作的交互式
4、界面。生成用戶圖形界面的最常見的理由:編寫一個(gè)需多次反復(fù)使用的實(shí)用函數(shù),菜單、按鈕、文本框作為輸入方法具有意義;或編寫函數(shù)或開發(fā)應(yīng)用程序供別人使用;或創(chuàng)建一個(gè)過程、技術(shù)或分析方法的交互式示例;或認(rèn)為GUI的簡(jiǎn)潔,性能良好,并且想實(shí)踐一下。許多基于GUI的工具函數(shù)包含在精通MATLAB工具箱中,將在后續(xù)章節(jié)進(jìn)行討論。其它由MATLAB用戶編制的工具和實(shí)用程序裝入MATLAB的GUI函數(shù)。工具的大多數(shù)可在Mathworks匿名FTP節(jié)點(diǎn)和其它資源中獲得。在我們開始討論之前,記住對(duì)“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn)GUI
5、的先決條件,如果你跳過了前一章,現(xiàn)在應(yīng)重新回去閱讀。21.2GUI對(duì)象層次結(jié)構(gòu)正如我們?cè)谏弦徽滤故镜哪菢?,由圖形命令生成的每一事物是一個(gè)圖形對(duì)象。圖形對(duì)象不僅包括uimenu和uicontrol對(duì)象,而且還包括圖形、坐標(biāo)軸和他們的子對(duì)象。讓我們從另一個(gè)角度來看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏幕本身是根結(jié)點(diǎn),圖形是根對(duì)象的子對(duì)象,坐標(biāo)軸,uimenu,uicontrol是圖形的子對(duì)象。根可以包括多個(gè)圖形,每個(gè)圖形含有一組或多組坐標(biāo)軸以及其子對(duì)象,每個(gè)圖形也可以有一個(gè)或多個(gè)與坐標(biāo)軸無關(guān)的uimenu和uicontrol。
6、雖然uicontrol對(duì)象無子對(duì)象結(jié)點(diǎn),但他們確實(shí)具有多種類型。uimenu對(duì)象常將其它的uimenu對(duì)象作為其子對(duì)象。圖21.1GUI對(duì)象層次結(jié)構(gòu)圖運(yùn)行MATLAB的不同型號(hào)的計(jì)算機(jī)或平臺(tái)上,產(chǎn)生不同的圖形顯示。Unix工作站使用不同的XWindow系統(tǒng),具有幾個(gè)窗口程序,如mwn或twm以控制顯示的布局。PC機(jī)靠MicrosoftWindows或WindowsNT進(jìn)行窗口管理,Macintosh計(jì)算機(jī)用Macintosh工具箱程序作窗口。雖然在各種平臺(tái)上,顯示看起來有很大的不同,但在很多的情況下,句柄圖形的
7、編碼是一致的。MATLAB在內(nèi)部處理平臺(tái)和窗口系統(tǒng)的差別。體現(xiàn)句柄圖形例程的函數(shù),包括應(yīng)用uimenu和uicontrol對(duì)象的函數(shù),通常運(yùn)行在所有平臺(tái)。存在已知差異的地方將在本章后面給出。21.3菜單在每一個(gè)窗口系統(tǒng)中使用菜單讓用戶選擇命令和選項(xiàng)。通常在顯示屏或窗口的頂部有一菜單條。移動(dòng)鼠標(biāo)指針到菜單標(biāo)志上按下鼠標(biāo)按鍵,頂層菜單就被選中,一列菜單項(xiàng)就從菜單標(biāo)志拉下來。這種款式菜單就叫下拉式菜單。按下鼠標(biāo)將指針移動(dòng)至菜單項(xiàng)并松開鼠標(biāo),則完成菜單項(xiàng)的選擇。MS-Windows和一些XWindow系統(tǒng)平臺(tái)還提供另一
8、種選擇菜單的方法。在頂層菜單上按下并松開鼠標(biāo),或稱單擊鼠標(biāo),則打開下拉菜單。然后,移動(dòng)鼠標(biāo)指針至下拉菜單項(xiàng)再次單擊鼠標(biāo),就選擇菜單項(xiàng)。在下拉菜單中選擇一項(xiàng)就引起動(dòng)作的發(fā)生。一個(gè)菜單項(xiàng)還可用自己的菜單項(xiàng)列表而作為子菜單。子菜單項(xiàng)在子菜單的標(biāo)志右邊顯示小三角或箭頭以表示菜單還有更多子菜單項(xiàng)可供選擇。如果子菜單的菜單項(xiàng)被選擇,另一個(gè)具有更多菜單項(xiàng)的菜單顯示在此菜單的右邊的下拉菜單中。有時(shí)這種