
在創(chuàng)建GUI時(shí)常常會(huì)用到樹形的結(jié)構(gòu),用來展示一些內(nèi)容的樹狀組織方式。在MATLAB Appdesigner中,常常會(huì)使用到uitree,uitreenode,uicontextmenu這三種類來創(chuàng)建一個(gè)樹結(jié)構(gòu)。本文介紹了如何借助這些UI組件來創(chuàng)建文件樹的功能。
創(chuàng)建一個(gè)APP designer的框架
最簡單的樹創(chuàng)建方法如下所示。需要指定一個(gè)樹所依附的uifigure,然后在樹下添加子節(jié)點(diǎn),同時(shí)子節(jié)點(diǎn)也可以為自己添加子節(jié)點(diǎn)。

我們這里借助圖形化開發(fā)界面,快速拖拽一個(gè)樹組件,并如下所示。下面這個(gè)APP的功能是,分析目標(biāo)文件夾下的文件,以樹結(jié)構(gòu)展示出來,并可以通過節(jié)點(diǎn)的上下文菜單進(jìn)行一定的操作。

為分析按鈕添加回調(diào)
回調(diào)的功能就是分析目標(biāo)路徑下的文件,并體現(xiàn)到樹結(jié)構(gòu)中去。可以看到,對(duì)于一個(gè)uitreenode對(duì)象來說,需要指定它所依賴的父節(jié)點(diǎn)(根節(jié)點(diǎn)或者樹節(jié)點(diǎn)),指定它的顯示文字,可以選擇指定節(jié)點(diǎn)所攜帶的數(shù)據(jù)(用來協(xié)同外部數(shù)據(jù)進(jìn)行相關(guān)操作),可以指定節(jié)點(diǎn)的右鍵上下文菜單。

為上下文菜單添加回調(diào)
通過uicontextmenu來創(chuàng)建上下文菜單對(duì)象,添加菜單項(xiàng),并為菜單添加回調(diào)函數(shù)。如果希望回調(diào)函數(shù)能夠訪問外部數(shù)據(jù),那么就不能單獨(dú)傳遞一個(gè)回調(diào)函數(shù)的句柄,而是要用cell數(shù)組打包,cell數(shù)組的第一個(gè)元素是回調(diào)句柄,后面的參數(shù)依次是要傳遞的外部參數(shù)。
注意這里回調(diào)函數(shù)的寫法,有兩個(gè)默認(rèn)的占位參數(shù),用來傳遞回調(diào)過程中的狀態(tài)和事件,因此額外的參數(shù)要從第三個(gè)參數(shù)開始傳入。
這里寫了兩個(gè)簡單的回調(diào)功能,一個(gè)是打印節(jié)點(diǎn)數(shù)據(jù)。另一個(gè)是打開節(jié)點(diǎn)數(shù)據(jù)。

效果展示
點(diǎn)擊Analyze按鈕,分析目標(biāo)路徑下的文件,并以樹結(jié)構(gòu)展示在APP窗口。

右鍵樹節(jié)點(diǎn),可以看到彈出的上下文菜單。

點(diǎn)擊Display按鈕,在命令行窗口打印節(jié)點(diǎn)名稱。

點(diǎn)擊Open按鈕,打開節(jié)點(diǎn)文件。

-
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
21023 -
GUI
+關(guān)注
關(guān)注
3文章
699瀏覽量
43909 -
回調(diào)函數(shù)
+關(guān)注
關(guān)注
0文章
95瀏覽量
12242
發(fā)布評(píng)論請(qǐng)先 登錄
altium designer 10 怎么沒智能交互式布線啊
iMX6開發(fā)板設(shè)備樹文件分析
鴻蒙js開發(fā),使用文件交互api進(jìn)行文件后app閃退并報(bào)了空指針
HarmonyOS Connect鴻蒙智聯(lián)水杯交互設(shè)計(jì)智慧生活APP線上開發(fā)注意事項(xiàng)與主要步驟
關(guān)于App Designer的作用分析和介紹
現(xiàn)在流行的Web APP開發(fā)框架有哪些
基于MATLAB App Designer的串口RS485 Modbus上位機(jī)
?Matlab App Designer工具的主要功能
Linux設(shè)備樹詳解(二) DTB文件格式
文件系統(tǒng)-多叉樹與二叉樹的轉(zhuǎn)化
使用APP Designer開發(fā)可交互的文件樹
評(píng)論