在appdesigner中拖动树控件到窗口,则会自动生成下面的代码
% Create Tree
app.Tree = uitree(app.UIFigure);
app.Tree.SelectionChangedFcn = createCallbackFcn(app, @TreeSelectionChanged, true);
app.Tree.Position = [131 128 150 300];
uitree( Figure )表示在窗口Figure中生成一棵树,并返回树这个对象。树本身可以看成是根节点,但是这个根结点不会在窗口中显示出来。用uitreenode函数可以生成子结点。格式为
child = uitreenode(parent)
表示创建1个parent的子结点,并返回这个子结点对象。这种结点具有属性Text, NodeData, Icon,分别表示在窗口中显示的文字、含在子结点中的数据(不会在窗口显示出来)、显示出来的图标。
示例如下
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: Button
function ButtonPushed(app, event)
ChinaNode = uitreenode(app.Tree, 'Text', 'China', 'NodeData', [1]);
GuangdongNode = uitreenode( ChinaNode, 'Text', 'Guangdong', 'NodeData', [1,2] );
AmericaNode = uitreenode(app.Tree, 'Text', 'America', 'NodeData', [2]);
end
% Selection changed function: Tree
function TreeSelectionChanged(app, event)
selectedNodes = app.Tree.SelectedNodes;
app.TextArea.Value = num2str( selectedNodes.NodeData );
end
end
函数ButtonPushed()表示按下按键就生成结点,TreeSelectionChanged()表示鼠标选择树结点时应该执行的内容。这里我把结点的数据输出出来。效果如下
删除结点使用成员delete即可。如下使用
node.delete;
或者整个数组中的结点删除,如下:
app.Tree.Children.delete;
其中app.Tree.Children获取子结点数组。