exponenta event banner

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.

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

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

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

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

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

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

Представлен в R2017b