exponenta event banner

Свойства рукоятки

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

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

fig = uifigure;
k = uiknob(fig,'discrete');
k.Items = {'Freezing','Cold','Warm','Hot'};

Кнопка

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

Значение, указанное как элемент Items или ItemsData массивы. По умолчанию Value является первым элементом в Items.

Определение Value как элемент Items устанавливает переключатель ручки на соответствующую метку на ручке. Если ItemsData не пуст, то Value должен иметь значение элемента ItemsDataи селектор ручки указывает на соответствующую метку.

Параметры ручки, заданные как массив ячеек из векторов символов, строкового массива или 1-D категориального массива. Массив должен содержать не менее двух элементов. Ручка отображает столько опций, сколько элементов в Items массив. Опции отображаются по часовой стрелке. Если это свойство указано как категориальный массив, MATLAB ® использует значения в массиве, а не полный набор категорий.

Пример: {'Off','Slow','Fast'}

Пример: {'1','2','3','4'}

Данные, связанные с каждым элементом Items значение свойства, указанное как числовой массив 1 на n или массив ячеек 1 на n. Допустимо указывать повторяющиеся элементы массива в ItemsData значение.

Когда количество элементов массива в ItemsData и Items не совпадают:

  • Если ItemsData значение пустое, затем все Items элементы представляются пользователю приложения.

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

  • Если ItemsData значение имеет меньше элементов, чем Items значение (но больше, чем нет), то единственное Items элементы, представленные пользователю приложения, имеют соответствующий ItemsData значение.

Пример: {'One' 'Two' 'Three'}

Пример: {10 20 30 40}

Шрифт

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

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

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

Пример: 'Arial'

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

Пример: 14

Вес шрифта, указанный как одно из следующих значений:

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

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

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

Угол шрифта, указанный как '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'

'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'

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

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

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

  • 'on' - Просмотр объекта.

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

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

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

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

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

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

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

Положение

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

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

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

Все измерения представлены в единицах пикселей. Из-за ограничений пропорций нельзя изменять высоту и ширину ручки независимо друг от друга. Для увеличения размера ручки задайте ширину и высоту с помощью Position(3:4) = [width height].

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

Пример: [100 200 60 60]

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

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

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

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

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

g = uigridlayout([4 3]);
k = uiknob(g,'discrete');
k.Layout.Row = 3;
k.Layout.Column = 2;

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

k.Layout.Column = [2 3];

Отзывы

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

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

  • Дескриптор функции.

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

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

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

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

В следующей таблице перечислены свойства ValueChangedData объект.

СобственностьСтоимость
ValueЗначение ручки после последнего взаимодействия с ней пользователя приложения.
PreviousValueЗначение ручки перед последним взаимодействием с ней пользователя приложения.
SourceКомпонент, выполняющий обратный вызов.
EventName'ValueChanged'

Дополнительные сведения о записи обратных вызовов см. в разделе Запись обратных вызовов в App Designer.

Функция создания объекта, заданная как одно из следующих значений:

  • Дескриптор функции.

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

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

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

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

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

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

Функция удаления объекта, заданная как одно из следующих значений:

  • Дескриптор функции.

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

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

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

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

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

Управление выполнением обратного вызова

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Функции

Представлен в R2016a