在创建GUI时常常会用到树形的结构,用来展示一些内容的树状组织方式。在MATLAB Appdesigner中,常常会使用到uitree,uitreenode,uicontextmenu这三种类来创建一个树结构。本文介绍了如何借助这些UI组件来创建文件树的功能。
创建一个APP designer的框架
最简单的树创建方法如下所示。需要指定一个树所依附的uifigure,然后在树下添加子节点,同时子节点也可以为自己添加子节点。
我们这里借助图形化开发界面,快速拖拽一个树组件,并如下所示。下面这个APP的功能是,分析目标文件夹下的文件,以树结构展示出来,并可以通过节点的上下文菜单进行一定的操作。
为分析按钮添加回调
回调的功能就是分析目标路径下的文件,并体现到树结构中去。可以看到,对于一个uitreenode对象来说,需要指定它所依赖的父节点(根节点或者树节点),指定它的显示文字,可以选择指定节点所携带的数据(用来协同外部数据进行相关操作),可以指定节点的右键上下文菜单。
为上下文菜单添加回调
通过uicontextmenu来创建上下文菜单对象,添加菜单项,并为菜单添加回调函数。如果希望回调函数能够访问外部数据,那么就不能单独传递一个回调函数的句柄,而是要用cell数组打包,cell数组的第一个元素是回调句柄,后面的参数依次是要传递的外部参数。
注意这里回调函数的写法,有两个默认的占位参数,用来传递回调过程中的状态和事件,因此额外的参数要从第三个参数开始传入。
这里写了两个简单的回调功能,一个是打印节点数据。另一个是打开节点数据。
效果展示
点击Analyze按钮,分析目标路径下的文件,并以树结构展示在APP窗口。
右键树节点,可以看到弹出的上下文菜单。
点击Display按钮,在命令行窗口打印节点名称。
点击Open按钮,打开节点文件。
-
MATLAB仿真
+关注
关注
4文章
175浏览量
19896 -
GUI
+关注
关注
3文章
641浏览量
39502 -
回调函数
+关注
关注
0文章
87浏览量
11537
发布评论请先 登录
相关推荐
评论