Tab Properties

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

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

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

f = figure;
tg = uitabgroup(f);
t = uitab;
t.Title = 'Data';

Заголовок и цвет

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

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

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

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

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

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

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

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

Чтобы создать несколько строк текста, используйте функцию sprintf, чтобы вставить символы новой строки ('\n') в ваш текст. Например:

txt = sprintf('Line 1\nLine 2');

Затем установите свойство Tooltip на значение, возвращенное sprintf.

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

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

Примечание

Свойство TooltipString не рекомендуется, начиная в R2018b. Используйте свойство Tooltip вместо этого.

Расположение и размер

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

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

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

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

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

Примечание

Это некоторые важные моменты, чтобы рассмотреть при использовании свойства Position:

  • Значения Position затронуты длиной заголовка вкладки и родительского свойства TabLocation группы вкладки.

  • Значениями Position является относительно родительской группы вкладки drawable area. Областью векторной и растровой графики группы вкладки является область в своих границах.

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

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

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

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

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

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

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

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

'pixels'.

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

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

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

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

'inches''inches'.
'centimeters''centimeters'.
'points''points'. Одна точка равняется 1/72-й из дюйма.
'characters'

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

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

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

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

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

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

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

Коллбэки

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

Функция обратного вызова изменения размера, заданная как одно из этих значений:

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

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

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

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

Коллбэк SizeChangedFcn выполняется когда родительский контейнер группы вкладки:

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

  • Видимо, в то время как его размер изменяется.

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

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

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

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

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

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Существует два состояния обратного вызова:

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

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

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание:

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

  • 'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова.

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

Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Свойство Interruptible объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible установлен в:

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

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

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

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

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

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

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

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

Родительский объект, заданный как объект TabGroup. Можно переместить вкладку к различной группе вкладки путем установки этого свойства на целевой объект TabGroup.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Введенный в R2014b