uitree

Создайте древовидный компонент

Синтаксис

t = uitree
t = uitree(Name,Value)
t = uitree(parent)
t = uitree(parent,Name,Value)

Описание

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

пример

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

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

пример

t = uitree(parent,Name,Value) создает дерево в заданном контейнере и устанавливает одни или несколько значений свойств Tree.

Примеры

свернуть все

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

t = uitree('Position',[20 20 150 150]);
node = uitreenode(t,'Text','Sample Data');

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

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

    % Assign Tree 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);
    
    function nodechange(src,event)
        node = event.SelectedNodes;
        display(node.NodeData);
    end
end

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

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

свернуть все

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

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

Пример: t = uitree('Position',[100 100 150 150]) создает дерево с определенным местоположением и размером.

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

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

Выбранные узлы, заданные как объект TreeNode или массив объектов TreeNode. Используйте это свойство получить или установить выбранные узлы в дереве.

Чтобы позволить пользователям выбирать несколько узлов, установите свойство Multiselect на 'on'. MATLAB всегда возвращает SelectedNodes как вектор-столбец, когда дерево имеет несколько выбранных узлов.

Несколько выбор узла, заданный как 'off' или 'on'. Установите это свойство на 'on' позволять пользователям выбирать несколько узлов одновременно.

Выбор изменил коллбэк, заданный как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Используйте эту функцию обратного вызова, чтобы выполнить команды, когда пользователь выберет различный узел в дереве.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с деревом, таким как выбранные узлы. MATLAB передает эту информацию в объекте SelectedNodesChangedData в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием. Вы можете запросить свойства объекта с помощью записи через точку. Например, event.SelectedNodes возвращает выбранный объект TreeNode или объекты. Объект SelectedNodesChangedData не доступен функциям обратного вызова, заданным как векторы символов.

Следующая таблица описывает свойства объекта SelectedNodesChangedData.

Свойство

Описание

SelectedNodes

Последний раз выбранный объект TreeNode или объекты

PreviousSelectedNodes

Ранее выбранный объект TreeNode или объекты

Source

Компонент, который выполняет обратный вызов

EventName

'SelectionChanged'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]. В этой таблице описываются каждый элемент в векторе. Все измерения указаны в пикселях.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера к левому краю ограничительной рамки, которая заключает дерево
bottomРасстояние от внутреннего базового края родительского контейнера к базовому краю ограничительной рамки, которая заключает дерево
widthРасстояние между правыми и левыми ребрами ограничительной рамки
heightРасстояние между верхними и нижними ребрами ограничительной рамки

Введенный в R2017b