uitree

Создайте стандартное дерево или компонент дерева флажка

Описание

t = uitree создает стандартное дерево в новом окне рисунка и возвращает Tree объект. MATLAB® вызывает uifigure функция, чтобы создать фигуру.

t = uitree(style) создает дерево заданного стиля. Задайте style как 'checkbox' создать дерево флажка вместо стандартного.

пример

t = uitree(parent) создает стандартное дерево в заданном родительском контейнере. Родительским элементом может быть Figure созданное использование uifigure функция или один из ее дочерних контейнеров.

пример

t = uitree(parent,style) создает дерево заданного стиля в заданном родительском контейнере.

пример

t = uitree(___,Name,Value) создает дерево со свойствами, заданными одним или несколькими Name,Value парные аргументы. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте дерево, которое содержит один узел под названием Sample Data.

fig = uifigure;
t = uitree(fig);
node = uitreenode(t,'Text','Sample Data');

Создайте дерево флажка, которое содержит родительский узел под названием Sample Data с дочерним узлом под названием Sample 1. Расширьте дерево, чтобы видеть оба узла.

fig = uifigure;
t = uitree(fig,'checkbox');
parent = uitreenode(t,'Text','Sample Data');
child = uitreenode(parent,'Text','Sample 1');
expand(t)

Создайте приложение, которое отображает имена спортсмена, сгруппированные спортом. Когда пользователь приложения нажимает на имя, данные об отображениях MATLAB о спортсмене.

Создайте программный файл под названием mytreeapp.m это содержит следующие команды, чтобы создать дерево, набор вложенных древовидных узлов и функцию обратного вызова для дерева. SelectionChangedFcn свойство задает функцию, чтобы выполниться, когда пользователь кликает по узлу в дереве.

function mytreeapp
    fig = uifigure;
    t = uitree(fig,'Position',[20 20 150 150]);

    % Assign callback in response to node selection
    t.SelectionChangedFcn = @nodechange;

    % First level nodes
    category1 = uitreenode(t,'Text','Runners','NodeData',[]);
    category2 = uitreenode(t,'Text','Cyclists','NodeData',[]);

    % Second level nodes.
    % Node data is age (y), height (m), weight (kg)
    p1 = uitreenode(category1,'Text','Joe','NodeData',[40 1.67 58] );
    p2 = uitreenode(category1,'Text','Linda','NodeData',[49 1.83 90]);
    p3 = uitreenode(category2,'Text','Rajeev','NodeData',[25 1.47 53]);
    p4 = uitreenode(category2,'Text','Anne','NodeData',[88 1.92 100]);

    % Expand the tree
    expand(t);
    
    % Create the function for the SelectionChangedFcn callback
    % When the function is executed, it displays the data of the selected item
    function nodechange(src,event)
        node = event.SelectedNodes;
        display(node.NodeData);
    end
end

Когда пользователь запускает mytreeapp и кликает по узлу в дереве, MATLAB отображает NodeData для того узла.

Создайте приложение, которое отображает список покупок, сгруппированный продовольственной категорией. Пользователь приложения может проверять отдельные элементы или целые продовольственные категории, и MATLAB отображает общую массу проверенных элементов.

Создайте программный файл под названием mycheckboxtreeapp.m это содержит следующие команды, чтобы создать дерево флажка, набор вложенных древовидных узлов и две функции обратного вызова для дерева флажка. CheckedNodesChangedFcn свойство задает функцию, чтобы выполниться, когда пользователь проверяет или снял флажок с узлом в дереве. SelectedNodesChangedFcn свойство задает функцию, чтобы выполниться, когда пользователь выбирает узел в дереве.

function mycheckboxtreeapp
    fig = uifigure;
    cbt = uitree(fig,'checkbox','Position',[20 20 150 150]);
    
    % Assign callbacks in response to node check and selection
    cbt.CheckedNodesChangedFcn = @checkchange;
    cbt.SelectionChangedFcn = @selectchange;
    
    % First level nodes
    category1 = uitreenode(cbt,'Text','Vegetables','NodeData',[]);
    category2 = uitreenode(cbt,'Text','Fruits','NodeData',[]);

    % Second level nodes.
    % Node data is the weight of the food item (in grams)
    p1 = uitreenode(category1,'Text','Cucumber','NodeData',400);
    p2 = uitreenode(category1,'Text','Carrot','NodeData',65);
    p3 = uitreenode(category2,'Text','Apple','NodeData',183);
    p4 = uitreenode(category2,'Text','Banana','NodeData',120);

    % Expand the tree
    expand(cbt);
    
    % Create the function for the CheckedNodesChangedFcn callback
    % When this function is executed, it displays the total weight of all checked items
    function checkchange(src,event)
        nodes = event.LeafCheckedNodes;
        if ~isempty(nodes)
            data = [nodes.NodeData];
            display(sum(data));
        end
    end

    % Create the function for the SelectedNodesChangedFcn callback
    % When this function is executed, it displays the name of the selected item
    function selectchange(src,event)
        node = event.SelectedNodes;
        display(node.Text);
    end
end

Когда пользователь запускает mycheckboxtreeapp и проверки или снятия флажка узел в дереве, MATLAB отображает сумму весов (сохраненный в NodeData) для всех проверенных узлов второго уровня. Когда пользователь выбирает узел в дереве, MATLAB отображает текст того узла.

Входные параметры

свернуть все

Стиль дерева в виде одного из следующего:

  • 'tree' — Иерархический список элементов

  • 'checkbox' — Иерархический список элементов, которые могут проверяться, подарил флажок слева от каждого элемента

Родительский контейнер в виде Figure объект создал использование uifigure функция или один из ее дочерних контейнеров: TabПанельГруппа кнопок, или GridLayout. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure функция, чтобы создать новый Figure объект, который служит родительским контейнером.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в одинарных кавычках (' '). Можно задать несколько имен и аргументов пары значения как Name1,Value1,...,NameN,ValueN.

Каждый тип Tree поддержка объектов различный набор свойств. Для полного списка свойств и описаний для каждого типа, смотрите связанную страницу свойств.

Больше о

свернуть все

SelectedNodes

В стандартном дереве или дереве флажка, выбранный узел обозначается синей подсветкой вокруг текста узла. Пользователь приложения может выбрать узел путем нажатия на текст узла.

В стандартном дереве с Multiselect набор свойств к 'off' и в каждом дереве флажка, самое большее один узел может быть выбран в любое время. В стандартном дереве можно установить Multiselect свойство к 'on' позволять, чтобы были выбраны несколько узлов.

В следующем изображении, Carrot узел выбран.

Проверенные узлы

В дереве флажка проверенный узел обозначается проверенным флажком слева от текста узла. Любое количество узлов может проверяться. Пользователь приложения может проверять или снять флажок с узлом путем нажатия на флажок. В стандартном дереве вы не можете проверять узлы.

В следующем изображении, Fruits, Apple, и Banana узлы проверяются.

Смотрите также

Функции

Свойства

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте