在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    MATLAB App Designer – 面向對象編程(一)

    MATLAB App Designer - 面向對象編程(一)

    公號【新能源動力電池與BMS】。

    “MATLAB App Designer面向對象編程方法及特點,應用案例介紹”

    什么是MATLAB App Designer?

    首先,App Designer是Mathworks 2016a版本中正式推出用于替換GUIDE的產品。這個產品的推出也是順應Web的潮流,可以幫助用戶利用新的圖形系統(tǒng),更加方便的設計出更美觀的GUI。

    調用App Designer方法有兩種,一種在命令行輸入:appdesigner即可;另外一種,在MATLAB主界面菜單欄中選擇APP菜單——設計APP。

    打開后進入導航頁

    GUI設計

    新建空白App后,可以看到組件庫有很多的控件,這些控件可以滿足常用需求。而且簡單易學。

    • GUI布局

    還是舉一個實例來說明。我們參考《MATLAB面向對象編程》這本書里的一個實例。這個實例是一個存款、取款的操作界面。我們從組件庫分別拖拽對應顏色的控件到畫布中去。

    畫布設計也非常友好,選擇多個控件,可以自動對齊。

    直接雙擊控件名稱即可修改名稱。但選擇控件時,同時在右邊組件瀏覽器中會同步選擇到“組件屬性”,這個屬性名稱是代碼中作為屬性定義的,可以在組件瀏覽器中修改為容易理解的屬性名稱,便于代碼的邏輯理解。

    App Designer代碼特點

    • 代碼界面

    點開代碼視圖,即可見源代碼。右邊組件瀏覽器中,控件對應屬性在代碼中可見定為公有屬性,但這部分為灰色內容,不可編輯。不過可以根據(jù)上面的“控件內容修改”所說方法,修改屬性名稱。

    • 屬性的概念

    有兩種屬性,一種為公有屬性,另外一種為私有屬性。

    公有屬性,可以簡單類比為具有C代碼中的全局變量的特點,可以用來傳遞和共享App內部和外部的數(shù)據(jù),比如兩個App之間的數(shù)據(jù)傳遞;

    相反,私有屬性只能在App內部傳遞或共享數(shù)據(jù),類似具有C代碼局部變量的特點。

    如果要自定義添加屬性,可以在左上欄(下圖示)中點擊屬性添加,類似于我們要添加變量。

    我們依次在組件瀏覽器中修改為便于理解的屬性名稱。

    通過代碼教你一步步實現(xiàn)GUI功能

    通過上面的介紹,我們已經了解App Designer的GUI如何設計、代碼的特點,并且已經設計好了GUI的控件布局。接下來,我們就要考慮如何一步步實現(xiàn)GUI的具體功能了。還是以前面存款、取款操作界面的GUI來做實例介紹。

    • 新增屬性

    先添加一個私有屬性Balance,便于后面的編程體現(xiàn)MVC分層思想,將模型與數(shù)據(jù)分開。

    當用戶第一次打開你設計的App時,你希望顯示控件欄會有些初值。比如,賬戶余額:3000元。

    這個功能是通過startupFcn函數(shù)來實現(xiàn)。賦值的方法,采用了MVC模型分層思想。

    • 回調函數(shù)callback的添加

    “取款”、“存款”兩個按鍵點擊,顯示界面的控件會有響應,該功能通過添加回調函數(shù)實現(xiàn)。

    下圖選擇回調函數(shù)ButtonPushedFcn??春瘮?shù)名稱可知該函數(shù)是用于處理按鍵按下后需要處理的事項。

    WithDrawButton回調函數(shù)內容如下:

    DepositButton回調函數(shù)內容如下:

    以上兩個回調函數(shù)的代碼體現(xiàn)了MVC分層思想,將View中的Balance的顯示和Model中的實際的Balance值分開。這個設計思想在大型可靠的項目中,一定是必不可少的。

    • 程序運行與測試

    最后點擊工具欄中的RUN按鈕,運行程序。初值3000,存款100,點擊存款,賬戶余額變?yōu)?100;取款200,點擊取款按鈕,賬戶余額變成2900。實現(xiàn)了基本設計功能。

    App封裝

    設計好的App,有時候需要安裝部署到沒有MATLAB的電腦上運行。所以我們需要打包成EXE格式的安裝包,具體的打包方法我在另一篇文章有詳細說明,可以參考MATLAB App Designer如何打包EXE安裝程序。

    總結

    本文初步介紹了MATLAB App Designer面向對象編程的特點,概括了GUI設計布局的方法、代碼特點,并舉例說明代碼實現(xiàn)方法,大家完全可以按照我描述的步驟一步步實現(xiàn)這個小例子,便于對App Designer初步的了解。

    最后,如果大家需要這個小例子的源代碼,歡迎留言,免費送上鏈接。

    鄭重聲明:本文內容及圖片均整理自互聯(lián)網,不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月27日 15:21
    下一篇 2022年6月27日 15:21

    相關推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息