Создайте древовидный компонент узла
создает древовидный узел компонент пользовательского интерфейса в дереве в рамках нового окна рисунка и возвращает node
= uitreenodeTreeNode
объект. MATLAB® вызывает uifigure
функция, чтобы создать фигуру.
создает древовидный узел в заданном родительском контейнере. Родительским контейнером может быть node
= uitreenode(parent
)Tree
или TreeNode
объект.
задает node
= uitreenode(___,Name,Value
)TreeNode
значения свойств с помощью одного или нескольких Name,Value
парные аргументы. Задайте Name,Value
как последний набор аргументов, когда вы используете любой из предыдущих синтаксисов.
Создайте дерево, которое содержит родительский узел под названием Sample Data
с дочерним узлом под названием Sample 1
. Расширьте дерево, чтобы видеть оба узла.
fig = uifigure; t = uitree(fig); parent = uitreenode(t,'Text','Sample Data'); child = uitreenode(parent,'Text','Sample 1'); expand(t)
Создайте приложение, которое отображает имена спортсмена, сгруппированные спортом. Когда пользователь приложения нажимает на имя, данные об отображениях MATLAB о спортсмене.
Создайте программный файл под названием mytreeapp.m
это содержит следующие команды, чтобы создать дерево, набор вложенных древовидных узлов и функцию обратного вызова для дерева. SelectionChangedFcn
свойство задает функцию, чтобы выполниться, когда пользователь кликает по узлу в дереве.
function mytreeapp fig = uifigure; t = uitree(fig,'Position',[20 20 150 150]); % Assign 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); % Create the function for the SelectionChangedFcn callback % When the function is executed, it displays the data of the selected item function nodechange(src,event) node = event.SelectedNodes; display(node.NodeData); end end
Когда пользователь запускает mytreeapp
и кликает по узлу в дереве, MATLAB отображает NodeData
для того узла.
Создайте дерево, которое заполняет узлы на основе данных в таблице.
Создайте фигуру с менеджером по размещению сетки, чтобы содержать компоненты пользовательского интерфейса. Загрузите выборочные данные на отключениях электричества электроэнергетики и создайте компонент таблицы UI, чтобы отобразить данные. Затем создайте дерево, чтобы содержать узлы, перечисляющие области и причины отключений электричества.
fig = uifigure; gl = uigridlayout(fig,[1 2]); gl.ColumnWidth = {'2x','1x'}; T = readtable('outages.csv'); T = T(1:20,{'Region','OutageTime','Loss','Cause'}); tbl = uitable(gl,'Data',T); tr = uitree(gl);
Задайте табличные переменные, чтобы отобразиться в дереве. Для каждой из тех переменных создайте узел верхнего уровня, текст которого является именем переменной. Извлеките соответствующие данные путем преобразования записей таблицы для переменной к категориальному массиву и возврата списка категорий как names
. Затем цикл через категории. Для каждого элемента добавьте узел в дерево под соответствующим родительским узлом.
vars = {'Region','Cause'}; for k1 = 1:length(vars) var = vars{k1}; varnode = uitreenode(tr,'Text',var); rows = T{:,var}; names = categories(categorical(rows)); for k2 = 1:length(names) text = names{k2}; uitreenode(varnode,'Text',text); end end
Расширьте дерево, чтобы видеть все узлы.
expand(tr)
Разработайте узлы в дереве, которое демонстрирует файловую структуру, чтобы визуально отличить различные типы файлов.
Создайте древовидный компонент пользовательского интерфейса. Каждый узел верхнего уровня представляет папку. Каждый дочерний узел представляет файл в той папке. Расширьте дерево, чтобы видеть все узлы.
fig = uifigure('Position',[300 300 350 400]); t = uitree(fig); % Parent nodes n1 = uitreenode(t,'Text','App 1'); n2 = uitreenode(t,'Text','App 2'); n3 = uitreenode(t,'Text','Images'); % Child nodes n11 = uitreenode(n1,'Text','myapp1.m'); n21 = uitreenode(n2,'Text','myapp2.m'); n22 = uitreenode(n2,'Text','app2callback.m'); n31 = uitreenode(n3,'Text','peppers.png'); n32 = uitreenode(n3,'Text','corn.tif'); expand(t)
Создайте три стиля: один с полужирной толщиной шрифта, один с углом курсивного шрифта, и один с синим цветом шрифта.
dirStyle = uistyle('FontWeight','bold'); imgStyle = uistyle('FontAngle','italic'); mStyle = uistyle('FontColor','blue');
Примените полужирный стиль к узлам верхнего уровня, чтобы отличить узлы, которые представляют папки. Примените синий стиль к дочерним элементам App 1
и App 2
узлы, чтобы отличить узлы, которые представляют файлы программы MATLAB. Наконец, примените курсивный стиль к узлам, которые представляют файлы изображений.
addStyle(t,dirStyle,'level',1); addStyle(t,mStyle,'node',[n1.Children;n2.Children]); addStyle(t,imgStyle,'node',[n31 n32]);
Создайте контекстное меню с действиями, соответствующими древовидному компоненту. Присвойте контекстное меню древовидным узлам верхнего уровня в дереве.
В фигуре пользовательского интерфейса создайте дерево с четырьмя узлами верхнего уровня и набором вложенных узлов.
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
функция обратного вызова.
parent
— Родительский объектTree
возразите | TreeNode
объектРодительский объект в виде Tree
или TreeNode
объект.
sibling
siblingnode TreeNode
Одноуровневый узел в виде TreeNode
объект.
location
— Местоположение относительно одноуровневого элемента'after'
(значение по умолчанию) | 'before'
Местоположение узла относительно его одноуровневого элемента в виде 'after'
или 'before'
.
node = uitreenode(t,'Text','Measurements')
создает древовидный узел с меткой, 'Measurements'
.Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в одинарных кавычках (' '
). Можно задать несколько имен и аргументов пары значения как Name1,Value1,...,NameN,ValueN
.
Свойства, перечисленные здесь, являются подмножеством. Для полного списка смотрите TreeNode Properties.
Text
— Текст узла'Tree Node'
(значение по умолчанию) | вектор символов | строковый скалярТекст узла в виде вектора символов или строкового скаляра.
Icon
— Источник значка или файл''
(значение по умолчанию) | вектор символов | строковый скаляр | m
- n
- 3 матрицы изображений истинного цветаИсточник значка или файл в виде вектора символов, строкового скаляра или m
- n
- 3 матрицы изображений истинного цвета. Если вы задаете имя файла, это может быть имя файла образа на пути MATLAB или полном пути к файлу изображения. Если вы планируете совместно использовать приложение с другими, поместите файл изображения на путь MATLAB, чтобы упростить упаковку приложения.
Поддерживаемые форматы изображения включают JPEG, PNG, GIF, SVG или m
- n
- 3 матрицы изображений истинного цвета. Для получения дополнительной информации о матрицах изображений истинного цвета, смотрите Типы изображения.
Пример: 'icon.png'
задает файл значка на пути MATLAB.
Пример: 'C:\Documents\icon.png'
задает полный путь к файлу изображения.
NodeData
NodeData []
(значение по умолчанию) | массивДанные об узле в виде массива любого типа. Задайте NodeData
совместно использовать данные, важные для узла, в рамках вашего кода приложения.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.