Свойства объекта Spinner

(App Designer) внешний вид и поведение счетчика Управления

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

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

f = uifigure;
s = uispinner(f);
s.Value = 20;

Значение

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

Значение счетчика, заданное как с двойной точностью номер.

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

MATLAB отклоняет значение если:

  • Это не может преобразовать вектор символа в скалярный номер.

  • Значением является NaN, пробел или комплексное число.

  • Значение является математическим выражением, таким как 1+2.

  • Значение является меньше, чем или больше, чем значения, заданные свойством Limits.

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

Пример: 10

Минимальные и максимальные значения счетчика, заданные как двухэлементный числовой массив. Первое значение должно быть меньше, чем второе значение. Установите элементы массива на -Inf или Inf не задавать минимум или никакой максимум, соответственно.

Если вы изменяете Limits, таким образом, что свойство Value вне новых пределов, MATLAB устанавливает свойство Value на значение в новых пределах. Например, предположите, что свойством Limits является [0 100], и свойство Value равняется 20. Если изменения свойства Limits в [50 100], то MATLAB устанавливает свойство Value на 50 (принятием значения LowerLimitInclusive является 'on'.

Пример: [-Inf 200]

Пример: [-100 Inf]

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

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

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

  • 'on' — MATLAB округляет значение, если это приводит к допустимому значению и выполняет обратный вызов ValueChangedFcn. Если получившееся значение вне более низкого или верхнего Limits, то раунды MATLAB к самому близкому значению, которое находится в пределах Limits и затем выполняет обратный вызов.

  • 'off' MATLAB не делает вокруг дробного значения к целому числу.

Если значение свойства RoundFractionalValues изменяется от 'off' до 'on' программно, то MATLAB применяет эти правила:

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

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

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

  • Если пределы сконфигурированы таким образом, что нет никакого допустимого целого числа в области значений, то MATLAB задерживает значение свойства RoundFractionalValues к 'off' и отображает сообщение об ошибке.

Формат отображения значения, заданный как вектор символа или скаляр строки.

MATLAB использует sprintf, чтобы отобразить значение с помощью заданного формата.

Можно смешать текст с операторами формата. Например:

spin = uispinner('ValueDisplayFormat','%.0f MS/s');

Получившийся компонент счетчика выглядит так:

Когда нажатия кнопки пользователя приложения в поле счетчика, поле показывает значение без текста.

Для полного списка операторов поддерживаемого формата смотрите sprintf.

Толерантность нижнего предела, заданная как одно из следующего:

  • 'on' — Значение должно быть равным или больше, чем нижний предел.

  • 'off' Значение должно быть больше, чем нижний предел.

Толерантность верхнего предела, заданная как одно из следующего:

  • 'on' — Значение должно быть равно или меньше, чем верхний предел.

  • 'off' Значение должно быть меньше, чем верхний предел.

Например, если вы хотите, чтобы числовой входной параметр был между 0 и 1, исключая 0 и 1, сделайте все следующее:

  • Установите значение свойства Limits to [0 1].

  • Установите свойство UpperLimitInclusive на 'off'.

  • Установите свойство LowerLimitInclusive на 'off'.

Шрифт и цвет

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

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

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

Пример: 'Arial'

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

Пример: 14

Толщина шрифта, заданная как одно из этих значений:

  • normal' — Насыщенность по умолчанию, определяемая конкретным видом шрифта

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

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

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

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

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

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

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

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

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

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

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

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

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

Редактируемость счетчика, заданного как 'on' или 'off'.

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

  • Сделать счетчик доступным для редактирования, кнопки стрелки операционный, и связанный обратный вызов triggerable, набор и свойство Enable и значения свойств Editable к 'on'.

  • Чтобы сделать счетчик недоступным для редактирования, но кнопки стрелки операционный, установите свойство Editable на 'off' и свойство Enable к 'on'.

  • Чтобы сделать счетчик недоступным для редактирования и кнопки стрелки неоперационный, установите свойство Editable на 'off' и свойство Enable к 'off'.

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

  • Сделать счетчик доступным для редактирования, кнопки стрелки операционный, и связанный обратный вызов triggerable, набор и свойство Enable и значения свойств Editable к 'on'

  • Чтобы сделать счетчик недоступным для редактирования, но кнопки стрелки операционный, установите свойство Editable на 'off' и свойство Enable к 'on'.

  • Чтобы сделать счетчик недоступным для редактирования и кнопки стрелки неоперационный, установите свойство Editable на 'off' и свойство Enable к 'off'.

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

Положение

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

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

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

Все измерения указаны в пикселях.

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

Пример: [100 100 100 22]

Внутреннее расположение и размер счетчика, заданного как [left bottom width height]. Position values are relative to the parent container. All measurements are in pixel units. This property value is identical to the Position property.

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

Внешнее расположение и размер счетчика, возвращенного как [left bottom width height]. Position values are relative to the parent container. All measurements are in pixel units. This property value is identical to the Position property.

Выравнивание по горизонтали чисел в счетчике, заданном как:

  • 'right' — Числа выравниваются на правой стороне счетчика.

  • 'left' — Числа выравниваются на левой стороне счетчика.

  • центр Числа выравниваются в центре счетчика.

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

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

g = uigridlayout([4 3]);
s = uispinner(g);
s.Layout.Row = 3;
s.Layout.Column = 2;

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

s.Layout.Column = [2 3];

Обратные вызовы

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

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

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

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

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

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со счетчиком. MATLAB передает эту информацию в объекте ValueChangedData в качестве второго аргумента к вашей функции обратного вызова. In App Designer, the argument is called event. You can query the object properties using dot notation., Например, event.PreviousValue возвращает предыдущее значение счетчика. Объект ValueChangedData не доступен функциям обратного вызова, заданным как векторы символов.

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

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

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

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

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

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

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

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со счетчиком. MATLAB передает эту информацию в объекте ValueChangingData в качестве второго аргумента к вашей функции обратного вызова. In App Designer, the argument is called event. You can query the object properties using dot notation., Например, event.Value возвращает текущее значение счетчика. Объект ValueChangingData не доступен функциям обратного вызова, заданным как векторы символов.

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

СвойствоЗначение
ЗначениеТекущая стоимость счетчика как пользователь приложения взаимодействует с ним
SourceКомпонент, который выполняет обратный вызов
EventName'ValueChanging'

Свойство Value Spinner не обновляется, пока пользователь приложения не выпускает клавишу со стрелкой. Поэтому, чтобы получить значения, в то время как клавиша со стрелкой нажимается, ваш код должен получить свойство Value объекта ValueChangingData.

Обратный вызов выполняется можно следующим образом:

  • Если пользователь приложения кликает по счетчику или стрелке вниз, обратный вызов выполняется однажды. Например, предположите, что значение счетчика равняется 2, и значение Step равняется 1. Если пользователь приложения кликает по стрелке вверх, обратный вызов выполняется.

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

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

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

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

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

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

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB initializes all property values before executing the CreateFcn callback. If you do not specify the CreateFcn property, then MATLAB executes a default creation function.

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

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

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

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

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

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

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB executes the DeleteFcn callback before destroying the properties of the object. If you do not specify the DeleteFcn property, then MATLAB executes a default deletion function.

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Родительский контейнер, заданный как Figure, создал использование функции uifigure или одного из ее дочерних контейнеров: Tab, Panel, ButtonGroup или GridLayout.

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

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

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

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

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

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

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

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

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

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

Введенный в R2016a

Была ли эта тема полезной?