Создайте древовидный компонент
t = uitree
t = uitree(Name,Value)
t = uitree(parent)
t = uitree(parent,Name,Value)
создает дерево в новом окне рисунка и возвращает объект t
= uitreeTree
. MATLAB® вызывает функцию uifigure
, чтобы создать фигуру.
задает значения свойств t
= uitree(Name,Value
)Tree
с помощью одного или нескольких аргументов пары Name,Value
.
создает дерево в заданном контейнере и устанавливает одни или несколько значений свойств 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
для того узла.
parent
— Родительский контейнерFigure
(значение по умолчанию) | объект Panel
| объект Tab
| объект ButtonGroup
| объект GridLayout
Родительский контейнер, заданный как Figure
, создал использование функции uifigure
или одного из ее дочерних контейнеров: Tab
, Panel
, ButtonGroup
или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure
, чтобы создать новый объект Figure
, который служит родительским контейнером.
t = uitree('Position',[100 100 150 150])
создает дерево с определенным местоположением и размером.Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя должно находиться внутри одинарных кавычек (' ').
Можно задать несколько имен и аргументов пары значения как
Name1,Value1,...,NameN,ValueN
.
Свойства, перечисленные здесь, являются подмножеством. Для полного списка см. Свойства объекта Tree.
SelectedNodes
SelectedNodes []
(значение по умолчанию) | объект TreeNode
| массив объектов TreeNode
Выбранные узлы, заданные как объект TreeNode
или массив объектов TreeNode
. Используйте это свойство получить или установить выбранные узлы в дереве.
Чтобы позволить пользователям выбирать несколько узлов, установите свойство Multiselect
на 'on'
. MATLAB всегда возвращает SelectedNodes
как вектор-столбец, когда дерево имеет несколько выбранных узлов.
'Multiselect'
— Несколько выбор узла'off'
(значение по умолчанию) | 'on'
Несколько выбор узла, заданный как 'off'
или 'on'
. Установите это свойство на 'on'
позволять пользователям выбирать несколько узлов одновременно.
'SelectionChangedFcn'
Выбор изменил коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовВыбор изменил коллбэк, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Используйте эту функцию обратного вызова, чтобы выполнить команды, когда пользователь выберет различный узел в дереве.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с деревом, таким как выбранные узлы. MATLAB передает эту информацию в объекте SelectedNodesChangedData
в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием.
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.SelectedNodes
возвращает выбранный объект TreeNode
или объекты. Объект SelectedNodesChangedData
не доступен функциям обратного вызова, заданным как векторы символов.
Следующая таблица описывает свойства объекта SelectedNodesChangedData
.
Свойство |
Описание |
---|---|
SelectedNodes |
Последний раз выбранный объект |
PreviousSelectedNodes |
Ранее выбранный объект |
Source |
Компонент, который выполняет обратный вызов |
EventName |
|
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
'Position'
— Расположение и размер[20 20 100 300]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]
. В этой таблице описываются каждый элемент в векторе. Все измерения указаны в пикселях.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к левому краю ограничительной рамки, которая заключает дерево |
bottom | Расстояние от внутреннего базового края родительского контейнера к базовому краю ограничительной рамки, которая заключает дерево |
width | Расстояние между правыми и левыми ребрами ограничительной рамки |
height | Расстояние между верхними и нижними ребрами ограничительной рамки |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.