Создайте компонент счетчика
создает счетчик в новом окне рисунка и возвращает spn
= uispinnerSpinner
объект. MATLAB® вызывает uifigure
функция, чтобы создать фигуру.
задает spn
= uispinner(___,Name,Value
)Spinner
свойства с помощью одного или нескольких Name,Value
парные аргументы. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.
fig = uifigure; spn = uispinner(fig);
Создайте счетчик в панели.
fig = uifigure; pnl = uipanel(fig); spn = uispinner(pnl);
Создайте счетчик, который ограничивает значения, в которые может войти пользователь приложения между 0 и 100, включительно.
Создайте счетчик.
fig = uifigure; spn = uispinner(fig);
Определите пределы. Возвращенные значения указывают, что нижние и верхние пределы неограниченны.
limits = spn.Limits
limits = -Inf Inf
Установите пределы к 0 и 100.
spn.Limits = [0 100];
Создайте счетчик, который позволяет пользователю приложения вводить значение, больше, чем-5 и меньше чем или равный 10.
fig = uifigure; spn = uispinner(fig,'Limits', [-5 10],... 'LowerLimitInclusive','off',... 'UpperLimitInclusive','on',... 'Value', 5);
Запустите код. Если вы вводите значение в счетчик, который находится вне пределов, MATLAB автоматически отображает сообщение, указывающее на проблему. MATLAB затем восстанавливает значение к предыдущему допустимому значению.
Создайте счетчик, который позволяет пользователю приложения вводить любое значение, но всегда отображает значение, использующее точно два десятичных числа. Следует иметь в виду, что MATLAB хранит точное значение, которое вводит пользователь приложения.
fig = uifigure; spn = uispinner(fig,'ValueDisplayFormat', '%.2f');
Запустите код, и затем войдите 5.555 в счетчик. Щелкните вне счетчика. Счетчик отображается 5.55.
MATLAB хранит исходное значение, 5.555.
Щелкните в счетчике, он отображает значение, первоначально введенное.
Создайте счетчик и ползунок. Когда пользователь приложения изменяет значение счетчика, обновления ползунка, чтобы совпадать с тем значением.
Сохраните следующий код в spinnerValue.m
на вашем пути MATLAB. Этот код создает окно рисунка, содержащее ползунок и счетчик. Когда пользователь приложения изменяет значение счетчика, ValueChangedFcn
обновляет счетчик, чтобы отразить значение ползунка.
function spinnervalue fig = uifigure('Position',[100 100 370 280]); sld = uislider(fig,... 'Position',[90 220 120 3]); spn = uispinner(fig,... 'Position',[100 140 100 22],... 'Limits',sld.Limits,... 'ValueChangedFcn',@(spn,event) updateSlider(spn,sld)); end % Create ValueChangedFcn callback function updateSlider(spn,sld) sld.Value = spn.Value; end
Запустите spinnerValue
.
Кликните и содержите стрелку вверх в счетчике, пока значение не достигает 24, и затем выпустите. Ползунок ползунка перемещается, чтобы указать на значение счетчика.
Создайте счетчик и ползунок. Когда пользователь приложения изменяет значение счетчика, ползунок неоднократно обновляется, чтобы совпадать с тем значением.
Сохраните следующий код в showChangingValue.m
на вашем пути MATLAB. Этот код создает окно рисунка, содержащее ползунок и счетчик. Когда пользователь приложения изменяет значение счетчика, ValueChangingFcn
неоднократно обновляет ползунок, чтобы отразить значение счетчика, когда это изменяется.
function showChangingValue fig = uifigure('Position',[100 100 370 280]); sld = uislider(fig,... 'Position',[90 220 120 3]); spn = uispinner(fig,... 'Position',[100 140 100 22],... 'Limits',sld.Limits,... 'ValueChangingFcn',@(spn,event) spinnerChanging(event,sld)); end % Create ValueChangingFcn callback function spinnerChanging(event,sld) sld.Value = event.Value; end
Запустите showChangingValue
.
Щелкните и содержите стрелку вверх в счетчике, пока значение не достигает 24, и затем выпустите. Перемещения ползунка как значение счетчика изменяются.
Закодируйте ValueChangedFcn
коллбэк, чтобы определить, повышается ли значение или падает по сравнению с предыдущим значением счетчика. Выберите цвет лампы к зеленому, когда значение увеличивается и до красного, когда значение уменьшается
Сохраните следующий код в upOrDown.m
на вашем пути MATLAB.
function upOrDown fig = uifigure(... 'Position',[100 100 190 170]); lmp = uilamp(fig,... 'Position',[90 50 20 20],... 'Color','green'); spn = uispinner(fig,... 'Position',[50 100 100 22],... 'ValueChangedFcn',@(spn,event) spinnerValueChanged(event,lmp)); end % Create ValueChangedFcn that uses event data function spinnerValueChanged(event,lmp) newValue = event.Value; previousValue = event.PreviousValue; difference = newValue-previousValue; if difference > 0 lmp.Color = 'green'; else lmp.Color = 'red'; end end
Запустите upOrDown
.
Каждый раз вы изменяете значение счетчика, ValueChangedFcn
определяет, увеличивает ли значение или уменьшает и выбирает цвет лампы соответственно.
parent
— Родительский контейнерFigure
объект (значение по умолчанию) | Panel
возразите | Tab
возразите | ButtonGroup
возразите | GridLayout
объектРодительский контейнер в виде Figure
объект создал использование uifigure
функция или один из ее дочерних контейнеров: Tab
Панель
Группа кнопок
, или GridLayout
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция, чтобы создать новый Figure
объект, который служит родительским контейнером.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Value',150
указывает, что номер 50 появляется в счетчике.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка см. Свойства объекта Spinner.
'Value'
— Значение счетчикаЗначение счетчика в виде номера с двойной точностью.
Когда пользователь приложения вводит значение в счетчике, значение является вектором символов. Когда пользователь приложения нажимает клавишу Enter или изменяет особое внимание, MATLAB преобразует вводимое в пользователя приложения значение в номер с двойной точностью.
MATLAB отклоняет значение если:
Это не может преобразовать вектор символов в скалярный номер.
Значением является NaN, пробел или комплексное число.
Значение является математическим выражением, таким как 1+2
.
Значение меньше или больше значений, заданных Limits
свойство.
Когда MATLAB отклоняет вводимое в пользователя приложения значение, подсказка кажется описывающей требования значения. Счетчик сразу возвращается к его предыдущему значению и никакому ValueChangedFcn
запуски.
Пример: 10
'ValueDisplayFormat'
ValueDisplayFormat '%11.4g'
(значение по умолчанию) | вектор символов | строковый скалярФормат отображения значения в виде вектора символов или строкового скаляра.
Использование MATLAB sprintf
отобразить значение с помощью заданного формата.
Можно смешать текст с операторами формата. Например:
spin = uispinner('ValueDisplayFormat','%.0f MS/s');
Получившийся компонент счетчика выглядит так:
Когда нажатия кнопки пользователя приложения в поле счетчика, поле показывает значение без текста.
Для полного списка операторов поддерживаемого формата смотрите sprintf
.
'RoundFractionalValues'
— Округление дробных значений'off'
(значение по умолчанию) | логическое значение включения - выключенияОкругление дробных значений, вводимых пользователями приложения в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— MATLAB округляет значение, если это приводит к допустимому значению и выполняет ValueChangedFcn
'callback'. Если получившееся значение находится вне более низкого или верхнего Limits
, затем MATLAB округляется к самому близкому значению, которое находится в пределах Limits
и затем выполняет коллбэк.
'off'
— MATLAB не делает вокруг дробного значения к целому числу.
Если RoundFractionalValues
значение свойства изменяется от 'off'
к 'on'
программно, затем MATLAB применяет эти правила:
Если округление существующего значения дает к целому числу, которое находится в предельном диапазоне, указанном Limits
свойство, затем MATLAB окружает существующее значение.
Если округление существующего значения дает к целому числу, которое меньше нижнего предела, затем MATLAB окружает существующее значение.
Если округление существующего значения дает к целому числу, которое больше верхнего предела, затем MATLAB округляет существующее значение в меньшую сторону.
Если пределы сконфигурированы таким образом, что нет никакого допустимого целого числа в области значений, то MATLAB устанавливает RoundFractionalValues
значение свойства назад к 'off'
и отображает сообщение об ошибке.
'Step'
— Количество, которым значение постепенно увеличивается или постепенно уменьшается
(значение по умолчанию) | числовой скалярКоличество, который Value
шаг свойства или декременты, когда пользователь приложения нажимает стрелки вверх и вниз, соответственно.
'Limits'
— Минимальные и максимальные значения счетчика[-Inf Inf]
(значение по умолчанию) | двухэлементный числовой массивМинимальные и максимальные значения счетчика в виде двухэлементного числового массива. Первое значение должно быть меньше второго значения. Установите элементы массива на -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]
'LowerLimitInclusive'
— Толерантность нижнего предела'on'
(значение по умолчанию) | логическое значение включения - выключенияТолерантность нижнего предела в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Значение должно быть равным или больше, чем нижний предел.
'off'
— Значение должно быть больше нижнего предела.
'UpperLimitInclusive'
— Толерантность верхнего предела'on'
(значение по умолчанию) | логическое значение включения - выключенияТолерантность верхнего предела в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Значение должно быть равно или меньше, чем верхний предел.
'off'
— Значение должно быть меньше верхнего предела.
Например, если вы хотите, чтобы числовой вход был между 0 и 1, исключая 0 и 1, сделайте все следующее:
Установите Limits
значение свойства to [0 1]
.
Установите UpperLimitInclusive
свойство к 'off'
.
Установите LowerLimitInclusive
свойство к 'off'
.
'ValueChangedFcn'
— Значение изменило коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь изменяет особое внимание или нажимает клавишу Enter после изменения значения счетчика. Не имеет значения, изменяет ли пользователь значение счетчика путем ввода или путем нажатия клавиш со стрелками. Коллбэк не выполняется, если значение счетчика изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со счетчиком. MATLAB передает эту информацию в ValueChangedData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue
возвращает предыдущее значение счетчика. ValueChangedData
объект не доступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Значение счетчика после нового взаимодействия пользователя приложения с ним |
PreviousValue | Значение счетчика перед новым взаимодействием пользователя приложения с ним |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
'ValueChangingFcn'
— Коллбэк изменения значения''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк изменения значения в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь кликает и содержит или стрелка вниз на счетчике. Это не выполняется если Value
свойство изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со счетчиком. MATLAB передает эту информацию в ValueChangingData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.Value
возвращает текущее значение счетчика. ValueChangingData
объект не доступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangingData
объект.
Свойство | Значение |
---|---|
Value | Текущее значение счетчика как пользователь приложения взаимодействует с ним |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanging' |
Value
свойство Spinner
не обновляется, пока пользователь приложения не выпускает клавишу со стрелкой. Поэтому, чтобы получить значения, в то время как клавиша со стрелкой нажимается, ваш код должен получить Value
свойство ValueChangingData
объект.
Коллбэк выполняется можно следующим образом:
Если пользователь приложения кликает по счетчику или стрелке вниз, коллбэк выполняется однажды. Например, предположите, что значение счетчика равняется 2 и Step
значение равняется 1. Если пользователь приложения кликает по стрелке вверх, коллбэк выполняется.
Если пользователь приложения нажимает и держит счетчик или стрелку вниз, коллбэк неоднократно выполняется. Например, если пользователь приложения кликает и содержит стрелку вверх, коллбэк выполняется многократно, пока пользователь приложения не выпускает стрелку вверх.
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
'Position'
— Местоположение и размер счетчика
(значение по умолчанию) | [left bottom width height]
Местоположение и размер счетчика относительно родительского контейнера в виде векторного [left bottom width height]
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю счетчика |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю счетчика |
width | Расстояние между правыми и левыми внешними краями счетчика |
height | Расстояние между верхними и нижними внешними краями счетчика |
Все измерения указаны в пикселях.
Position
значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 22]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.