MATLAB App Designer教程連載3: 如何使用Gauge,Knob,Lamp,和Toggle Switch

打開App Designer,新增的最顯眼的控制項就是Gauge, Knob,Lamp和Toggle Switch了,這節先學習它們的基本使用。

Gauge,Knob,Lamp和Toggle Switch在GUI中有什麼用處

Gauge是儀錶盤,它是一個接受外部輸入,並且在GUI中顯示讀數的控制項。在實際GUI應用中,Knob可以用來顯示MATLAB從外界搜集的模擬(Analog)的或者數字(Digital)的信號。

Knob控制項有兩種旋鈕,它們是輸出控制項,可以輸出類似Analog或者Digital信號,在實際GUI應用中,Knob用來控制外部硬體輸入。

Switch也是輸出裝置,它對應現實中的按鈕。Switch只有兩個狀態:開和關。在實際GUI應用中,Switch可以用來控制外部硬體的狀態。

如何利用Gauge,Knob,Lamp和Toggle Switch設計一個簡單的APP

本節為了簡單起見,僅僅構造一個假想的APP:

  • 用Knob的輸出來控制Gauge的讀數,
  • 用Switch來控制Lamp的顏色

在下節教程中,我們將舉一個更實際的MATLAB App Designer和硬體結合的例子。

本例的設計如下:首先拖拽兩個Panel,命名如圖。 從用戶體驗的角度出發,在GUI上進行明顯的分組可以幫助用戶理解控制項的用處 從視覺上可以看出,Gauge和Knob是相互關聯的控制項,而Toggle Switch和Lamp是相互關聯。

並且注意到,這裡修改了Lamp的初值顏色為黑色,表示當開關的狀態是關時,燈是黑色的。如果修改屬性的初值在教程1中 曾經提到過:需要在Code View tab中,在Component Browser中點選對應的控制項,然後在Property Browser中尋找可以允許修改的屬性,如圖:

如何用Knob控制Gauge,用Toggle Switch 控制Lamp

簡單起見,不再修改類定義中屬性的名字。直接給Knob添加ValueChanged的回調函數

在其回調函數中,直接把得到的Knob的值再賦給Gauge,達到控制儀錶盤的目的 :

function KnobValueChanged(app)n value = app.Knob.Value;n app.Gauge.Value = value ;nendn

接下來再給ToogleSwitch添加回調函數:

在其回調函數中,比較ToggleSwitch的屬性Value,如果是On,則把Lamp的顏色改成紅色,否則設成黑色:

function ToggleSwitchValueChanged(app)n value = app.ToggleSwitch.Value;n if strcmp(value,On)n app.Lamp.Color = [1,0,0] ; n elsen app.Lamp.Color = [0,0,0];n endnendn

最後實際效果如下,滑鼠把Knob的值拖動到16,Gauge的值隨即也改到16;點擊Toggle Switch成為On狀態,Lamp的顏色變成紅色。

本節的例子僅為了簡單說明Knob,Gauage,Toggle Swith和Lamp的簡單使用,下節中我們將把這些控制項和實際的硬體結合起來。


推薦閱讀:

各位大神,請問如何用matlab證明人耳對聲音的相位不敏感?
MATLAB 高級數據結構連載 4 containers.Map
如何對四旋翼飛行器進行精確的數學建模?
漫談Simulink: 隱式和顯式的Solver
[MATLAB R2017a 搶鮮報道] : 自動駕駛工具箱(1)

TAG:MATLAB | 面向对象编程 |