CheckBoxTree Properties

Управляйте внешним видом и поведением дерева флажка

Деревья флажка являются компонентами пользовательского интерфейса для представления списка элементов в иерархии в приложении, где каждый элемент имеет связанный флажок. Свойства управляют внешним видом и поведением дерева флажка. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.

Например, этот код создает основное дерево флажка с двумя вложенными узлами, хранит CheckBoxTree возразите как cbt, и затем устанавливает CheckedNodes свойство с помощью записи через точку.

fig = uifigure;
cbt = uitree(fig,'checkbox');
n1 = uitreenode(cbt);
n1.Text = 'Node 1';
n2 = uitreenode(n1);
n2.Text = 'Node 2';
cbt.CheckedNodes = [n1 n2];

Для большего количества примеров того, как создать и сконфигурировать деревья флажка, смотрите uitree.

Узлы

развернуть все

Проверенные узлы в виде TreeNode возразите или массив TreeNode объекты. Используйте это свойство программно получить или установить проверенные узлы в дереве флажка.

Если CheckedNodes содержит родительский узел, все дочерние элементы родительского узла автоматически добавляются к CheckedNodes. Если CheckedNodes содержит все дочерние элементы родительского узла, родительский узел автоматически добавляется к CheckedNodes.

Выбранный узел в виде TreeNode объект. Используйте это свойство получить или установить выбранный узел в дереве флажка.

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

Шрифт и цвет

развернуть все

Название шрифта в виде системы поддержало название шрифта. Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Если заданный шрифт не доступен, то MATLAB® использует лучшее соответствие среди шрифтов, доступных в системе, куда приложение запускается.

Пример: 'Arial'

Размер шрифта, заданный в виде положительного числа. Единицами измерения являются пиксели. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.

Пример: 14

Толщина шрифта в виде одного из этих значений:

  • 'normal' — Вес по умолчанию, как задано конкретным шрифтом

  • 'bold' — Более толстые символьные основы, чем 'normal'

Не все шрифты имеют полужирное начертание шрифта. Для шрифтов, которые не делают, задавая 'bold' результаты в обычной толщине шрифта.

Угол шрифта в виде 'normal' или 'italic'. Не все шрифты имеют угол курсивного шрифта. Для шрифтов, которые не делают, задавая 'italic' результаты в углу обычного шрифта.

Цвет шрифта в виде триплета RGB, шестнадцатеричного цветового кода или одной из перечисленных в таблице опций.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Цвет фона в виде триплета RGB, шестнадцатеричного цветового кода или одного из перечисленных в таблице параметров цвета.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Это свойство доступно только для чтения.

Настройка добавленных стилей, созданных с помощью uistyle функция, возвращенная как n- 3 табличных массива. Каждая строка табличного массива соответствует стилю, который в настоящее время применяется к дереву флажка. Стилям, которые добавляются последовательно, дают номер заказа стиля n+1. Target и TargetIndex столбцы задают часть дерева, к которому был добавлен стиль. Style столбец задает имя класса стиля.

Используйте это свойство, если вы хотите удалить стиль из дерева с помощью removeStyle функция.

Пример: удалите стиль

Во-первых, добавьте два стиля в дерево.

fig = uifigure;
fig.Position = [100 100 250 350];
t = uitree(fig,'checkbox');
n1 = uitreenode(t,'Text','Fruits');
n11 = uitreenode(n1,'Text','Banana');
n12 = uitreenode(n1,'Text','Cherry');
n2 = uitreenode(t,'Text','Vegetables');
n21 = uitreenode(n2,'Text','Broccoli');
n22 = uitreenode(n2,'Text','Lettuce');
expand(t)

s1 = uistyle('FontColor',[0 0.4 0.7]);    % Green
s2 = uistyle('FontColor',[0.1 0.5 0.1]);  % Blue

addStyle(t,s1,'level',2);
addStyle(t,s2,'node',[n2 n21 n22]);

A check box tree with nodes listing fruits and vegetables. The Banana and Cherry nodes are blue, and the Vegetables, Broccoli, and Lettuce nodes are green.

Когда вы запрашиваете t.StyleConfigurations, MATLAB возвращается 2 3 табличный массив. Стиль уровня был добавлен к компоненту таблицы UI сначала, таким образом, это - номер заказа стиля 1. TargetIndex значение для стиля уровня, {[ 2]}, указывает, что стиль был применен к второму уровню узлов. Точно так же второй стиль был добавлен к трем узлам в дереве.

t.StyleConfigurations
ans =

  2×3 table

         Target     TargetIndex                Style          
         ______    ______________    _________________________

    1    level     {[         2]}    1×1 matlab.ui.style.Style
    2    node      {1×3 TreeNode}    1×1 matlab.ui.style.Style

Удалите второй стиль, который был добавлен к дереву путем определения номера заказа стиля 2. Древовидный внешний вид компонента обновляется, чтобы использовать только первый стиль.

removeStyle(t,2)

A check box tree with nodes listing fruits and vegetables. The Banana, Cherry, Broccoli, and Lettuce nodes are blue.

Интерактивность

развернуть все

Состояние видимости в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Отобразите объект.

  • 'off' — Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.

Чтобы заставить ваше приложение запуститься быстрее, установите Visible свойство к 'off' для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.

Текстовая редактируемость узла в виде 'off' или 'on', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Установите это свойство на 'on' позволить пользователю редактировать текст узла во время выполнения. Enable свойство должно также быть установлено в 'on' сделать текст доступным для редактирования.

Рабочее состояние дерева в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • Если вы устанавливаете это свойство на 'on', пользователь приложения может взаимодействовать с деревом и его узлами.

  • Если вы устанавливаете это свойство на 'off', компонент появляется, потускнел, указав, что пользователь приложения не может взаимодействовать с ним или его узлами, и что он не инициирует коллбэк.

Установите это свойство на 'off' чтобы сделать дерево и его узлы кажутся тусклыми, указывая, что пользователь не может взаимодействовать с деревом или его узлами.

Подсказка в виде вектора символов, массива ячеек из символьных векторов, массива строк или 1D категориального массива. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линий текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной линией текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Контекстное меню в виде ContextMenu объект создал использование uicontextmenu функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по компоненту.

Положение

развернуть все

Местоположение и размер в виде четырехэлементного вектора из формы [left bottom width height]В этой таблице описываются каждый элемент в векторе. Все измерения указаны в пикселях.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера к левому краю ограничительной рамки, которая заключает дерево
bottomРасстояние от внутреннего базового края родительского контейнера к базовому краю ограничительной рамки, которая заключает дерево
widthРасстояние между правыми и левыми ребрами ограничительной рамки
heightРасстояние между верхними и нижними ребрами ограничительной рамки

Местоположение и размер в виде четырехэлементного вектора из формы, [left bottom width height]. Значения в векторе относительно родительского контейнера. Все измерения указаны в пикселях. Это значение свойства идентично Position свойство.

Это свойство доступно только для чтения.

Местоположение и размер, возвращенный как четырехэлементный вектор из формы, [left bottom width height]. Значения в векторе относительно родительского контейнера. Все измерения указаны в пикселях. Это значение свойства идентично Position свойство.

Параметры макета в виде GridLayoutOptions объект. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки Row и Column свойства на GridLayoutOptions объект.

Например, этот код помещает дерево флажка в третью строку и второй столбец ее родительской сетки.

g = uigridlayout([4 3]);
cbt = uitree(g,'checkbox');
cbt.Layout.Row = 3;
cbt.Layout.Column = 2;

Чтобы сделать древовидный промежуток несколькими строками или столбцами, задайте Row или Column свойство как двухэлементный вектор. Например, это дерево охватывает столбцы 2 через 3:

cbt.Layout.Column = [2 3];

Коллбэки

развернуть все

Проверенные узлы изменили коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с деревом, таким как ранее проверенные узлы. MATLAB передает эту информацию в CheckedNodesChangedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.CheckedNodes возвращает проверенный TreeNode объект или объекты. CheckedNodesChangedData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства CheckedNodesChangedData объект.

Свойство

Описание

CheckedNodes

В настоящее время проверенный TreeNode объекты

PreviousCheckedNodes

Ранее проверенный TreeNode объекты

IndeterminateCheckedNodes

Родительский TreeNode объекты, которые в настоящее время и проверяли и сняли флажок с дочерними элементами

PreviousIndeterminateCheckedNodes

Родительский TreeNode объекты, которые ранее и проверяли и сняли флажок с дочерними элементами

LeafCheckedNodes

В настоящее время проверенный TreeNode объекты без дочерних узлов

PreviousLeafCheckedNodes

Ранее проверенный TreeNode объекты без дочерних узлов

ParentCheckedNodes

В настоящее время проверенный TreeNode объекты с дочерними узлами

PreviousParentCheckedNodes

Ранее проверенный TreeNode объекты с дочерними узлами

Source

Компонент, который выполняет обратный вызов

EventName

'CheckedNodesChanged'

Свойства, которые возвращают список узлов, возвращают их в иерархии. Например, CheckedNodes свойство сначала перечисляет все проверенные узлы на первом уровне дерева в порядке, в котором они появляются в древовидном компоненте. Затем это перечисляет все проверенные узлы на втором уровне дерева, снова в порядке, в котором они появляются. Этот шаблон продолжается, пока наконец он не перечисляет узлы на последнем уровне дерева. Это совпадает с порядком что findall функция возвращает узлы в.

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Выбор изменил коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Используйте эту функцию обратного вызова, чтобы выполнить команды, когда пользователь выберет различный узел в дереве.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с деревом, таким как выбранный узел. MATLAB передает эту информацию в SelectedNodesChangedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.SelectedNodes возвращает выбранный TreeNode объект. SelectedNodesChangedData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства SelectedNodesChangedData объект.

Свойство

Описание

SelectedNodes

Последний выбранный TreeNode объект

PreviousSelectedNodes

Ранее выбрал TreeNode объект

Source

Компонент, который выполняет обратный вызов

EventName

'SelectionChanged'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Узел расширил коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с узлом. MATLAB передает эту информацию в NodeExpandedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.Node возвращает TreeNode возразите что свернутый пользователь. NodeExpandedData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства NodeExpandedData объект.

Свойство

Описание

Node

TreeNode возразите что расширенный пользователь

Source

Компонент, который выполняет обратный вызов

EventName

'NodeExpanded'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Узел свернул коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Используйте эту функцию обратного вызова, чтобы выполнить команды, когда пользователь свернет узел в дереве.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с узлом. MATLAB передает эту информацию в NodeCollapsedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.Node возвращает TreeNode возразите что свернутый пользователь. NodeCollapsedData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства NodeCollapsedData объект.

Свойство

Описание

Node

TreeNode возразите что свернутый пользователь

Source

Компонент, который выполняет обратный вызов

EventName

'NodeCollapsed'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Текст узла изменил коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с древовидным узлом. MATLAB передает эту информацию в NodeTextChangedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousText возвращает предыдущий текст узла. NodeTextChangedData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства NodeTextChangedData объект.

Свойство

Описание

Node

TreeNode объект, который изменил текст

Text

Новый текст узла

PreviousText

Предыдущий текст узла

Source

Компонент, который выполняет обратный вызов

EventName

'NodeTextChanged'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Функция создания объекта в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство на существующем компоненте не оказывает влияния.

Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo функционируйте, чтобы получить доступ к объекту.

Функция удаления объекта в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn коллбэк прежде, чем уничтожить свойства объекта. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo функционируйте, чтобы получить доступ к объекту.

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Это свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

MATLAB определяет поведение прерывания коллбэка каждый раз, когда это выполняет команду, которая обрабатывает очередь коллбэка. Эти команды включают drawnow, figure, uifigure, getframe, waitfor, и pause.

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

Если рабочий коллбэк действительно содержит одну из этих команд, то Interruptible свойство объекта, который владеет рабочим коллбэком, определяет, происходит ли прерывание:

  • Если значение Interruptible 'off', затем никакое прерывание не происходит. Вместо этого BusyAction свойство объекта, который владеет прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или добавляется к очереди коллбэка.

  • Если значение Interruptible 'on', затем прерывание происходит. В следующий раз, когда MATLAB обрабатывает очередь коллбэка, он останавливает выполнение рабочего коллбэка и выполняет прерывание обратного вызова. После того, как прерывание обратного вызова завершается, MATLAB затем продолжает выполнять рабочий коллбэк.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn , или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если прерывание обратного вызова принадлежит Timer объект, затем коллбэк выполняется согласно расписанию независимо от Interruptible значение свойства.

Примечание

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Постановка в очередь коллбэка в виде 'queue' или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

BusyAction свойство определяет поведение постановки в очередь коллбэка только, когда оба из этих условий соблюдают:

  • Рабочий коллбэк содержит команду, которая обрабатывает очередь коллбэка, такой как drawnow, figure, uifigure, getframe, waitfor, или pause.

  • Значение Interruptible свойством объекта, который владеет рабочим коллбэком, является 'off'.

При этих условиях, BusyAction свойство объекта, который владеет прерыванием обратного вызова, определяет, как MATLAB обрабатывает прерывание обратного вызова. Это возможные значения BusyAction свойство:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняет прерывание обратного вызова.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

Проверяйте значение BeingDeleted свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Родительский элемент/Дочерний элемент

развернуть все

Родительский контейнер в виде Figure объект создал использование uifigure функция или один из ее дочерних контейнеров: TabПанельГруппа кнопок, или GridLayout. Если никакой контейнер не задан, MATLAB вызывает uifigure функция, чтобы создать новый Figure объект, который служит родительским контейнером.

Дочерние элементы, возвращенные как массив TreeNode объекты.

Вы не можете добавить или удалить дочерние элементы, использующие Children свойство, но можно использовать свойство просмотреть список дочерних элементов. Порядок дочерних элементов отражает порядок дочерних узлов, отображенных на экране. Чтобы добавить дочерний элемент в этот список, установите Parent свойство дочернего компонента быть Tree объект.

Чтобы переупорядочить дочерние элементы, используйте move функция.

Объекты с HandleVisibility набор свойств к 'off' не перечислены в Children свойство.

Видимость указателя на объект в виде 'on''callback', или 'off'.

Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают get, findobj, clf, и closeОбъекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.

Значение HandleVisibilityОписание
'on'Объект всегда виден.
'callback'Объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.
'off'Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть объект во время выполнения этой функции.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'uicheckboxtree'.

Идентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные в виде любого массива MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Смотрите также

Функции

Введенный в R2021a