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 это содержит следующие команды, чтобы создать дерево, набор вложенных древовидных узлов и функцию обратного вызова для дерева. 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 Properties.

Текст узла в виде вектора символов или строкового скаляра.

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

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

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

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

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

Введенный в R2017b