1. 程式人生 > >Matlab 圖形介面(GUI) 程式設計

Matlab 圖形介面(GUI) 程式設計

1 圖形控制代碼

1.1 獲得控制代碼,改變屬性

獲得圖形的控制代碼:

Hndl = plot(x, y);

返回屬性:

result=get(Hndl,’'PropertyName'’); %獲得某一個屬性

result=get(Hndl) %獲得所有屬性的結構

設定屬性

set(handle,'PropertyName1',value1, ...);

例如:

set(Hndl,'LineWidth',4,'LineStyle','--')

Figure的控制代碼和axis的控制代碼:

get/set(gcf,'PropertyName1',… )

get/set(gca,'PropertyName1',… )

1.2 利用互動式視窗設定物件屬性

propedit(Hndl1); %指定開啟Hndl1的設定視窗

propedit; %開啟當前物件的設定視窗


(也可以使用雙擊影象物件開啟)

1.3 用set函式列出可能屬性值

set(Hndl,'LineStyle');%返回LineStyle所有可設定的值

>> [ {-} |-- | : | -. | none ]

set(Hndl); %返回所有屬性

1.4 物件的查詢

Matlab中提供了4類物件的查詢函式

l  gcf    返回當前圖象的控制代碼

l  gca    返回當前圖象中當前座標系的控制代碼

l  gco    返回當前物件的控制代碼

l findobj  尋找指定屬性值的圖形物件:Hndls =findobj('PropertyName1',value1, ...) %查詢符合鍵值的物件.

利用滑鼠選取物件

利用內建函式waitforbuttonpress和gco/gcf可以實現用滑鼠選擇物件。Waitforbuttonpress等待滑鼠按下,左鍵按下返回0,其他任意鍵按下為1. 而gco返回的是最後一次滑鼠單擊的物件控制代碼。

1.5 預設和工廠屬性

Matlab中的物件都繼承自根物件,所以設定根物件,就能指定所有新建立的物件的預設屬性。預設屬性在屬性名前加default以識別。例如:

set(0,'DefaultFigureColor', 'y')  黃色圖象背景——所有圖象

set(0,'DefaultAxesColor', 'r')  紅色座標系背景——所有圖象中的座標軸

set(gcf,'DefaultAxesColor', 'r')  紅色座標系背景——當前圖象座標軸

set(gca,'DefaultLineStyle', ':')  只在當前座標系中設定預設線型為虛線

2 Axes 繪圖

在MATLAB GUI中的每一個專案(按鈕、標籤、編輯框等)都是一個圖形化元件。元件可分為三類:圖形化控制元件(按鈕、編輯框、列表、滑動條等),靜態元素(視窗和文字字串),選單和座標系,圖形化控制元件和靜態元素由函式uicontrol建立,選單由函式uimenu和uicontextmenu建立,座標系經常用於顯示圖形化資料,由函式axes建立。

Axes繪圖:

axes(handles.axes1);
cla;%清除原有的圖形

plot(rand(5));
drawnow;%強制重新整理