uitreenode

Создайте компонент узла дерева

Описание

node = uitreenode создает компонент пользовательского интерфейса узла дерева в дереве в новом окне рисунка и возвращает TreeNode объект. MATLAB® вызывает uifigure функция для создания рисунка.

node = uitreenode(parent) создает узел дерева в указанном родительском контейнере. Родительский контейнер может быть Tree или TreeNode объект.

node = uitreenode(parent,sibling) создает узел дерева в указанном родительском контейнере после заданного узла одноуровневого типа.

node = uitreenode(parent,sibling,location) создает узел дерева и помещает его после или перед узлом-одноуровневым узлом. Задайте location как 'after' или 'before'.

пример

node = uitreenode(___,Name,Value) задает TreeNode значения свойств с использованием одной или нескольких Name,Value аргументы в виде пар. Задайте Name,Value как последний набор аргументов при использовании любого из предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

function mytreeapp
    fig = uifigure;
    t = uitree(fig,'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 для этого узла.

Создайте контекстное меню с действиями, соответствующими компоненту дерева. Назначьте контекстное меню узлам дерева верхнего уровня в дереве.

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

fig = uifigure;

tree = uitree(fig,'Position',[20 200 175 100]);

category1 = uitreenode(tree,'Text','Runners');
r1 = uitreenode(category1,'Text','Joe');
r2 = uitreenode(category1,'Text','Linda');

category2 = uitreenode(tree,'Text','Cyclists');
c1 = uitreenode(category2,'Text','Rajeev');

category3 = uitreenode(tree,'Text','Hikers');
h1 = uitreenode(category3,'Text','Jack');

category4 = uitreenode(tree,'Text','Swimmers');
s1 = uitreenode(category4,'Text','Logan');

Создайте контекстное меню с тремя элементами меню. Для последнего элемента меню создайте четыре подменю.

cm = uicontextmenu(fig);
m1 = uimenu(cm,'Text','Expand All');
m2 = uimenu(cm,'Text','Collapse All');
m3 = uimenu(cm,'Text','Scroll To...');

sbm1 = uimenu(m3,'Text','Runners');
sbm2 = uimenu(m3,'Text','Cyclists');
sbm3 = uimenu(m3,'Text','Hikers');
sbm4 = uimenu(m3,'Text','Swimmers');

Затем назначьте контекстное меню узлам дерева верхнего уровня путем установки ContextMenu свойство каждого узла к ContextMenu объект.

category1.ContextMenu = cm;
category2.ContextMenu = cm;
category3.ContextMenu = cm;
category4.ContextMenu = cm;

Щелкните правой кнопкой мыши любой из узлов дерева верхнего уровня, чтобы просмотреть контекстное меню.

На данной точке код еще незавершен. Контекстное меню появляется при щелчке правой кнопкой мыши, но выбор элементов меню не имеет никакого эффекта. Чтобы завершить реализацию поведения элементов меню, создайте MenuSelectedFcn функцию обратного вызова.

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

свернуть все

Родительский объект, заданный как Tree или TreeNode объект.

Одноуровневый узел, заданный как TreeNode объект.

Расположение узла относительно его родства, заданное как 'after' или 'before'.

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

Пример: node = uitreenode(t,'Text','Measurements') создает узел дерева с меткой, 'Measurements'.

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

Перечисленные здесь свойства являются подмножеством. Полный список см. в разделе Свойства TreeNode.

Текст узла, заданный как вектор символов или строковый скаляр.

Источник значка или файл, заданный как вектор символов, строковый скаляр или m-by- n-by-3 truecolor массив изображений. Если вы задаете имя файла, это может быть имя файла изображения по пути MATLAB или полный путь к файлу изображения. Если вы планируете поделиться приложением с другими, поместите файл изображения на путь MATLAB, чтобы облегчить упаковку приложений.

Поддерживаемые форматы изображений включают JPEG, PNG, GIF, SVG или m-by- n-by-3 truecolor массив изображений. Дополнительные сведения о массивах изображений truecolor см. в разделе Типы изображений.

Пример: 'icon.png' задает файл значка в пути MATLAB.

Пример: 'C:\Documents\icon.png' задает полный путь к файлу изображения.

Данные узла, заданные как массив любого типа. Задайте NodeData для обмена данными, относящимися к узлу, в коде приложения.

Введенный в R2017b