使用APP Designer开发可交互的文件树

电子说

1.3w人已加入

描述

GUI

在创建GUI时常常会用到树形的结构,用来展示一些内容的树状组织方式。在MATLAB Appdesigner中,常常会使用到uitree,uitreenode,uicontextmenu这三种类来创建一个树结构。本文介绍了如何借助这些UI组件来创建文件树的功能。

创建一个APP designer的框架

最简单的树创建方法如下所示。需要指定一个树所依附的uifigure,然后在树下添加子节点,同时子节点也可以为自己添加子节点。

GUI

我们这里借助图形化开发界面,快速拖拽一个树组件,并如下所示。下面这个APP的功能是,分析目标文件夹下的文件,以树结构展示出来,并可以通过节点的上下文菜单进行一定的操作。

GUI

为分析按钮添加回调

回调的功能就是分析目标路径下的文件,并体现到树结构中去。可以看到,对于一个uitreenode对象来说,需要指定它所依赖的父节点(根节点或者树节点),指定它的显示文字,可以选择指定节点所携带的数据(用来协同外部数据进行相关操作),可以指定节点的右键上下文菜单。

GUI

为上下文菜单添加回调

通过uicontextmenu来创建上下文菜单对象,添加菜单项,并为菜单添加回调函数。如果希望回调函数能够访问外部数据,那么就不能单独传递一个回调函数的句柄,而是要用cell数组打包,cell数组的第一个元素是回调句柄,后面的参数依次是要传递的外部参数。

注意这里回调函数的写法,有两个默认的占位参数,用来传递回调过程中的状态和事件,因此额外的参数要从第三个参数开始传入。

这里写了两个简单的回调功能,一个是打印节点数据。另一个是打开节点数据。

GUI

效果展示

点击Analyze按钮,分析目标路径下的文件,并以树结构展示在APP窗口。

GUI

右键树节点,可以看到弹出的上下文菜单。

GUI

点击Display按钮,在命令行窗口打印节点名称。

GUI

点击Open按钮,打开节点文件。

GUI

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分