Download presentation
Presentation is loading. Please wait.
1
MATLAB 程式設計入門篇 握把式圖形與 GUI 設計
2
Handle Graphics概念 握把式圖形Handle Graphics概念 每一個圖形元件視為一個物件Object
MATLAB 程式設計入門篇 Handle Graphics概念 握把式圖形Handle Graphics概念 每一個圖形元件視為一個物件Object Object都有一個獨一無二的握把Handle
3
MATLAB 程式設計入門篇 圖形物件的階層結構 圖形物件階層結構(Hierarchy)
4
階層結構的一個例子
5
圖形物件的性質存取 以 GUI 進行圖形物件的性質存取 MATLAB 5.x MATLAB 6.x MATLAB 7.x
以命令列進行圖形物件的性質存取
6
MATLAB 5.x MATLAB 5.x >>propedit(gcf)
gcf 傳回使用中圖形握把,開啟「性質編輯器」(Property Editor),產生的新視窗如下:
7
MATLAB 5.x 性質編輯器 MATLAB 5.x 物件瀏覽 性質陳列 性質修改
8
MATLAB 6.x MATLAB 6.x >>peaks; % 畫出 peaks 3D 圖
>>propedit; % 開啟性質編輯器
9
MATLAB 程式設計入門篇 MATLAB 5.x 性質編輯器 MATLAB 6.x
10
MATLAB 7.x 性質編輯器 MATLAB 7.x >>peaks; % 畫出 peaks 3D 圖
>>propedit; % 開啟性質編輯器
11
MATLAB 7.x MATLAB 7.x
12
圖形物件的性質存取 以命令列進行圖形物件的性質存取 set 設定某個性質的值 get 取得某個性質的值
findobj 在握把式圖形的階層式結構中,找出您要的物件。 xpsound、travel、truss、lorenz 等指令
13
set範例: t = 0:0.1:4*pi; y = exp(-t/5).*sin(t);
h = plot(t, y); % h 為曲線的握把 set(h,'Linewidth',3); % 將曲線寬度改為 3 set(h,'Marker','o');%將曲線的線標改成小圓圈 set(h,'MarkerSize',20);% 將線標的大小改成 20
14
get範例: >>get(h,”LindWidth”) %取得曲線寬度 ans =3;
>> get(h,'Color') %取得曲線顏色 ans =
15
findobj範例: >> plot(rand(10,2)); % 畫出兩條曲線
>> h=findobj(0,'type','line') % 找出曲線的握把 h = >> set(h,'LineWidth',3); % 經由握把將曲線寬度改為 3
16
MATLAB GUI GUI 的設計 M 檔案 GUIDE 發展環境
17
M檔案 M 檔案的GUI 設計 Uicontrol Mouse Events
18
uicontrol範例1 h = uicontrol; % 產生按鈕 set(h,'String','請按我!');
% 在按鈕表面加入文字「請按我!」 cmd ='fprintf(''有人按我一下喔!\n'');'; % 定義按鈕被按後的反應指令 set(h,'Callback',cmd); % 設定按鈕的反應指令
19
uicontrol範例1
20
UI(User Interface)控制物件
Uicontrol產生UI(User Interface)控制物件 按鈕(Push Button) 滑動棒(Sliding Bar) 圓形按鈕(Radio Button) 框架(Frame) 核計方塊(Check Box) 文字欄位(Edit Box) 列表式選單(List Menu) 下拉式選單(Popup Menu)
21
uicontrol範例2: close all % 關閉所有圖形視窗
uicontrol('style','push','position',[ ]); uicontrol('style','slide','position',[ ]); uicontrol('style','radio','position',[ ]); uicontrol('style','frame','position',[ ]);
22
uicontrol範例2 uicontrol('style','check','position',[200 220 80 30]);
uicontrol('style','edit','position',[ ]); uicontrol('style','list','position',[ ],'string', '1|2|3|4'); uicontrol('style','popup','position',[ ],'string','one|two|three');
23
uicontrol範例2
24
uicontrol的例子 另外一個較複雜uicontrol的例子 Switchyard Programming
25
滑鼠事件 (Mouse Events) 滑鼠事件 (Mouse Events)
WindowButtonDownFcn:滑鼠按鈕按下時反應指令 WindowButtonMotionFcn:滑鼠移動時的反應指令 WindowButtonUpFcn:滑鼠按鈕釋放時的反應指令
26
滑鼠事件的例子 一個滑鼠事件 (Mouse Events)的例子
Similar presentations