Panel Properties

Внешний вид и поведение панели управления в figure- основанные на приложениях

Перечисленные здесь свойства действительны для панелей в GUIDE или в приложениях, созданных с figure функция. Если вы используете App Designer или uifigure вместо этого см. раздел Свойств Panel». Для получения дополнительной информации см. GUIDE Стратегии миграции.

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

f = figure;
p = uipanel(f);
p.Position = [.1 .1 .7 .8];

Заголовок

расширить все

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

MATLAB не интерпретирует вертикальную косую черту ('|') символ как пропуск линии, он отображается как вертикальная косая черта в заголовке.

Если необходимо задать Юникод® символ, передайте код десятичного числа Unicode в char функция. Для примера, ['Multiples of ' char(960)] отображается следующим Multiples of π.

Расположение заголовка, заданное как 'lefttop', 'centertop', 'righttop', 'leftbottom', 'centerbottom', или 'rightbottom'.

Цвет и укладка

расширить все

Заголовок цвета, заданный как триплет 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'

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

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

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

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

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

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

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

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: [0 0 1]

Пример: 'b'

Пример: 'blue'

Цвет фона, заданный как триплет 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'

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

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

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

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

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

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

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

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Тип границы, заданный как 'etchedin', 'none', 'etchedout', 'beveledin', 'beveledout', или 'line'.

  • Для 3-D внешнего вида используйте травленые или скошенные границы.

    Используйте HighlightColor и ShadowColor свойства для определения цвета 3-D границ.

  • Для более простого внешнего вида используйте границу линии.

    Используйте HighlightColor свойство для задания цвета границы линии.

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

Цвет подсветки границы, заданный как триплет 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'

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

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

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

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

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

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

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

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пограничный теневой цвет, заданный как триплет 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'

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

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

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

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

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

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

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

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Примечание

Поведение Clipping изменено свойство. Это больше не влияет на Panel объекты. Дочерние объекты теперь обрезаются до контуров их родительского контейнера независимо от значения этого свойства. Это свойство может быть удалено в следующем релизе.

Шрифт

расширить все

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

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

Пример: 'Arial'

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

Пример: 12

Пример: 12.5

Толщина шрифта, заданный как значение из следующей таблицы.

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

  • 'bold' - более тонкие контуры символов, чем обычно

MATLAB использует FontWeight свойство для выбора шрифта из доступных в вашей системе. Не все шрифты имеют полужирный шрифт вес. Поэтому установка полужирного шрифта веса все еще может привести к нормальной толщине шрифта.

Примечание

The 'light' и 'demi' значения толщины шрифта были удалены в R2014b. Если вы задаете одно из этих значений, результатом является обычная толщина шрифта.

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

Примечание

The 'oblique' значение удалено. Использование 'italic' вместо этого.

Модули шрифта, заданные как одно из значений из этой таблицы.

Модули измеренияОписание
'points'Точки. Одна точка - это 1/72 дюйма.
'normalized'Нормированные значения для определения размера шрифта как части высоты. При изменении размера компонента пользовательского интерфейса MATLAB масштабирует отображаемый шрифт, чтобы сохранить эту дробь.
'inches'Дюймы.
'centimeters'Сантиметры.
'pixels'

Пиксели.

Начиная с R2015b, расстояния в пикселях не зависят от вашего системного разрешения в Windows® и системы Macintosh:

  • В системах под управлением Windows пиксель составляет 1/96 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

На Linux® систем, размер пикселя определяется вашим системным разрешением.

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

расширить все

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

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

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

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

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

Изменение Visible свойство контейнера не изменяет значения Visible свойства дочерних компонентов. Это верно, хотя скрытие контейнера приводит к скрытию дочерних компонентов.

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

Примечание

Поведение Selected свойство изменено в R2014b, и оно не рекомендовано. Он больше не влияет на объекты этого типа. Это свойство может быть удалено в следующем релизе.

Примечание

Поведение SelectionHighlight свойство изменено в R2014b, и оно не рекомендовано. Он больше не влияет на объекты этого типа. Это свойство может быть удалено в следующем релизе.

Положение

расширить все

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

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

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

Примечание

The Position значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и не включает площадь, занимаемую заголовком. Если родительский контейнер является рисунком, то область векторной и растровой графики также исключает панель меню и панель инструментов.

Пример: Измените одно значение в векторе положения

Вы можете объединить запись через точку и индексацию массива, когда хотите изменить одно значение в Position вектор. Для примера этот код изменяет ширину панели на 0.5:

p = uipanel;
p.Position(3) = 0.5;
p.Position
ans =

      0   0   0.5000  1.0000

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

Расположение и размер (исключая границы и заголовок), возвращенные как четырехэлементный вектор формы [left bottom width height]. Эта таблица описывает каждый элемент в векторе.

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

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

Примечание

Это некоторые важные точки, которые следует учитывать при использовании InnerPosition свойство:

  • InnerPosition значения зависят от наличия заголовка, характеристик шрифта BorderType, и BorderWidth.

  • InnerPosition значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и исключает область, занимаемую заголовком. Если родительский контейнер является рисунком, то область векторной и растровой графики также исключает панель меню и панель инструментов.

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

Это значение свойства идентично Position значение свойства.

Единицы измерения, заданные одно из значений из этой таблицы.

Модули измеренияОписание
'normalized'Эти модули измерения нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставлен с (0,0) и правый верхний угол преобразуется в (1,1).
'pixels'

Пиксели.

Начиная с R2015b, расстояния в пикселях не зависят от вашего системного разрешения в системах Windows и Macintosh:

  • В системах под управлением Windows пиксель составляет 1/96 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

В системах Linux размер пикселя определяется вашим системным разрешением.

'inches'Дюймы.
'centimeters'Сантиметры.
'points'Точки. Одна точка равна 1/72 дюйма.
'characters'

Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:

  • Ширина символа = ширина буквы x.

  • Высота символа = расстояние между базовыми линиями двух строк текста.

Для доступа к шрифту uicontrol по умолчанию используйте get(groot,'defaultuicontrolFontName') или set(groot,'defaultuicontrolFontName').

MATLAB измеряет все модули измерения в левом нижнем углу родительского объекта.

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

Порядок, в котором вы задаете свойства Units и Position, имеет следующие эффекты:

  • Если вы задаете Units свойство перед Position свойство, затем MATLAB устанавливает Position используя указанные вами модули.

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

Коллбэки

расширить все

Измените размер функции обратного вызова, заданной в качестве одного из следующих значений:

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

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

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

Задайте этот коллбэк, чтобы настроить размещение приложения при изменении размера этого контейнера (например, когда пользователь изменяет размер окна).

The SizeChangedFcn коллбэк выполняется в следующих случаях:

  • Этот контейнер становится видимым впервые.

  • Этот контейнер отображается при изменении его размера.

  • Этот контейнер становится видимым впервые после изменения его размера. Эта ситуация возникает, когда размер изменяется, пока контейнер невидим, и затем он становится видимым позже.

Другие важные точки, которые следует учитывать при определении SizeChangedFcn коллбэк:

  • Рассмотрите задержку отображения этого контейнера до тех пор, пока все переменные, которые SizeChangedFcn использование задано. Эта практика может предотвратить SizeChangedFcn коллбэк после возврата ошибки. Чтобы задержать отображение контейнера, установите его Visible свойство к 'off'. Затем установите Visible свойство к 'on' после определения переменных, которые SizeChangedFcn используется коллбэк.

  • Если ваше приложение содержит вложенные контейнеры, они изменяются в размере изнутри.

  • Чтобы получить доступ к контейнеру, который изменяет размер из SizeChangedFcn, обратитесь к исходному объекту (первому входному параметру в коллбэке) или используйте gcbo функция.

Совет

Как простая альтернатива указанию SizeChangedFcn коллбэк, можно задать Units свойство всех объектов, которые вы помещаете в контейнер, чтобы 'normalized'. Это делает эти компоненты масштабируемыми пропорционально контейнеру.

Для получения дополнительной информации об управлении размещениями с помощью функции SizeChangedFcn коллбэки.

Функция обратного вызова с нажатием кнопки, заданная в качестве одного из следующих значений:

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

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

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

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

The ButtonDownFcn коллбэк - это функция, которая выполняется при нажатии пользователем кнопки мыши в контейнере.

Функция создания компонентов, заданная в качестве одного из следующих значений:

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

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

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

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

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

Используйте gcbo функция в вашем CreateFcn код для получения объекта компонента, который создается.

Установка CreateFcn свойство существующего объекта компонента не имеет эффекта.

Функция удаления компонента, заданная в качестве одного из следующих значений:

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

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

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

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

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

Используйте gcbo функция в вашем DeleteFcn код для получения удаляемого объекта компонента.

Изменение размера функции обратного вызова, заданное как одно из следующих значений:

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

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

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

Примечание

Использование ResizeFcn свойство не рекомендуется. Его можно удалить в будущем релизе. Использование SizeChangedFcn вместо этого.

Типы данных: function_handle | cell | char

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

расширить все

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

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

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

  • Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.

Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк пытается прервать текущий коллбэк (если он существует). The Interruptible свойство объекта, имеющего текущий коллбэк, определяет, разрешено ли прерывание:

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, когда есть drawnow, figure, getframe, waitfor, или pause.

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

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

  • Значение 'off' блокирует все попытки прерывания. The BusyAction свойство объекта, имеющего прерывание обратного вызова, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.

Примечание

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

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

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

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

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

См. пример выполнения прерывания обратного вызова, показывающий, как Interruptible и BusyAction свойства влияют на поведение программы.

Организация очереди коллбэков задается как 'queue' (по умолчанию) или 'cancel'. The BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния коллбэка:

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

  • Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.

The BusyAction свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает его выполнение. The BusyAction свойство имеет следующие значения:

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

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

Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк всегда пытается прервать выполнение текущего коллбэка. The Interruptible свойство объекта, чей коллбэк выполняется, определяет, разрешено ли прерывание. Если Interruptible установлено в:

  • on - Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь. Это значение по умолчанию.

  • off - The BusyAction свойство (объекта, имеющего прерывающий обратный вызов) определяет, будет ли MATLAB ставить в очередь или игнорировать прерывание обратного вызова.

См. пример выполнения прерывания обратного вызова, показывающий, как BusyAction и Interruptible свойства влияют на поведение программы.

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

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

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

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

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

  • 'on' - Устанавливает текущий объект на Panel когда пользователь кликает компонент в работающем приложении. Оба CurrentObject свойство Figure и gco функция возвращает Panel как текущий объект.

  • 'off' - Устанавливает текущий объект как ближайший предок Panel чьи HitTest является 'on' когда пользователь кликает компонент в запущенном приложении.

Родитель/ребенок

расширить все

Родительский объект, заданный как Figure, Panel, ButtonGroup, или Tab объект. Используйте это свойство, чтобы задать родительский контейнер при создании компонента пользовательского интерфейса или переместить существующий компонент пользовательского интерфейса в другой родительский контейнер.

Дочерние элементы панели, возвращенные как пустые GraphicsPlaceholder или 1-D массив объектов компонента. Дети Panel объекты можно Axes, Panel, ButtonGroup, или любой стиль UIControl объекты.

Вы не можете добавить или удалить дочерние элементы, используя Children свойство. Используйте это свойство для просмотра списка дочерних элементов или для изменения порядка дочерних элементов. Порядок дочерних элементов отражает порядок "от первого до последнего" (порядок размещения) компонентов на экране. MATLAB может не позволить вам изменить порядок определенных объектов. Для примера, UIControl и Legend объекты всегда перед Axes объекты.

Чтобы добавить дочерний элемент в этот список, установите Parent свойство дочернего компонента к Panel объект.

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

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

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

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

Установите корень графики ShowHiddenHandles свойство к 'on' сделать все указатели видимыми, независимо от их HandleVisibility значение. Эта настройка не влияет на их HandleVisibility значения.

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

расширить все

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

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

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

Пользовательские данные, заданные как любой массив. Определение UserData может быть полезным для обмена данными в приложениях См. Раздел «Обмен данными между коллбэками» для получения дополнительной информации.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2020a

Представлено до R2006a