在創建GUI時常常會用到樹形的結構,用來展示一些內容的樹狀組織方式。在MATLAB Appdesigner中,常常會使用到uitree,uitreenode,uicontextmenu這三種類來創建一個樹結構。本文介紹了如何借助這些UI組件來創建文件樹的功能。
創建一個APP designer的框架
最簡單的樹創建方法如下所示。需要指定一個樹所依附的uifigure,然后在樹下添加子節點,同時子節點也可以為自己添加子節點。
我們這里借助圖形化開發界面,快速拖拽一個樹組件,并如下所示。下面這個APP的功能是,分析目標文件夾下的文件,以樹結構展示出來,并可以通過節點的上下文菜單進行一定的操作。
為分析按鈕添加回調
回調的功能就是分析目標路徑下的文件,并體現到樹結構中去。可以看到,對于一個uitreenode對象來說,需要指定它所依賴的父節點(根節點或者樹節點),指定它的顯示文字,可以選擇指定節點所攜帶的數據(用來協同外部數據進行相關操作),可以指定節點的右鍵上下文菜單。
為上下文菜單添加回調
通過uicontextmenu來創建上下文菜單對象,添加菜單項,并為菜單添加回調函數。如果希望回調函數能夠訪問外部數據,那么就不能單獨傳遞一個回調函數的句柄,而是要用cell數組打包,cell數組的第一個元素是回調句柄,后面的參數依次是要傳遞的外部參數。
注意這里回調函數的寫法,有兩個默認的占位參數,用來傳遞回調過程中的狀態和事件,因此額外的參數要從第三個參數開始傳入。
這里寫了兩個簡單的回調功能,一個是打印節點數據。另一個是打開節點數據。
效果展示
點擊Analyze按鈕,分析目標路徑下的文件,并以樹結構展示在APP窗口。
右鍵樹節點,可以看到彈出的上下文菜單。
點擊Display按鈕,在命令行窗口打印節點名稱。
點擊Open按鈕,打開節點文件。
-
MATLAB仿真
+關注
關注
4文章
176瀏覽量
19904 -
GUI
+關注
關注
3文章
650瀏覽量
39553 -
回調函數
+關注
關注
0文章
87瀏覽量
11543
發布評論請先 登錄
相關推薦
評論