Создание выпадающего компонента
создает выпадающее в новом окне рисунка и возвращает dd
= uidropdownDropDown
объект. MATLAB® вызывает uifigure
функция, чтобы создать фигуру.
задает свойства объектов с помощью одного или нескольких dd
= uidropdown(___,Name,Value
)Name,Value
парные аргументы. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Используйте Name,Value
пара, Editable,'on'
задавать выпадающий компонент, который позволяет пользователю приложения вводить текст на выпадающий компонент или выбирать предопределенную опцию.
Создайте выпадающий компонент с элементами по умолчанию.
fig = uifigure; dd = uidropdown(fig);
Нажатие где угодно в выпадающем компоненте заставляет его открываться.
Создайте выпадающий компонент и задайте опции.
fig = uifigure; dd = uidropdown(fig,'Items',{'Red','Yellow','Blue','Green'},... 'Value','Blue');
Определите значение, сопоставленное с выбранной опцией.
value = dd.Value
value = 'Blue'
По умолчанию, ItemsData
свойство пусто, таким образом, выпадающее значение компонента соответствует элементу, выбранному в выпадающем компоненте.
Объединенные значения данных с каждым выпадающим элементом компонента.
dd.ItemsData = [1 2 3 4];
Определите значение, сопоставленное с выбранной опцией.
value = dd.Value
value = 3
Заметьте, что, когда ItemsData
значение свойства не пусто, значением выпадающего компонента является ItemsData
значение, которое соответствует выбранному Items
элемент значения.
fig = uifigure; dd = uidropdown(fig,'Editable','on');
Нажатие где угодно в выпадающем компоненте, кроме стрелки вниз, вставляет каре, позволяя пользователю ввести текст в выпадающем компоненте.
Создайте график и выпадающий компонент. Когда пользователь приложения делает выбор от выпадающего компонента, цвета изменений графика.
Сохраните следующий код в plotOptions.m
на вашем пути MATLAB. Этот код создает окно, содержащее график и выпадающий компонент. Когда пользователь приложения изменяет выпадающий выбор компонента, ValueChangedFcn
коллбэк изменяет цвет графика.
function plotOptions fig = uifigure; fig.Position(3:4) = [440 320]; ax = uiaxes('Parent',fig,... 'Position',[10 10 300 300]); x = linspace(-2*pi,2*pi); y = sin(x); p = plot(ax,x,y); p.Color = 'Blue'; dd = uidropdown(fig,... 'Position',[320 160 100 22],... 'Items',{'Red','Yellow','Blue','Green'},... 'Value','Blue',... 'ValueChangedFcn',@(dd,event) selection(dd,p)); end % Create ValueChangedFcn callback: function selection(dd,p) val = dd.Value; p.Color = val; end
Запустите plotOptions
. Выберите green из выпадающего компонента, чтобы изменить цвет графика в зеленый.
Создайте выпадающий компонент и лампу. Когда пользователь приложения делает выбор от выпадающего компонента, изменений размера лампы.
Сохраните следующий код в lampSize.m
на вашем пути MATLAB. Этот код создает окно рисунка, содержащее выпадающий компонент и лампу. Когда пользователь приложения изменяет выпадающий выбор компонента, ValueChangedFcn
коллбэк изменяет размер лампы.
function lampSize % Create figure and components fig = uifigure('Position',[100 100 300 275]); lmp = uilamp(fig,... 'Position',[100 30 20 20]); dd = uidropdown(fig,... 'Editable','on',... 'Position',[84 204 100 20],... 'Items',{'Size x 1','Size x 2','Size x 3','Size x 4'},... 'ItemsData',[1 2 3 4],... 'Value',1,... 'ValueChangedFcn',@(dd,event) optionSelected(dd,lmp)); end % Create ValueChangedFcn callback function optionSelected(dd,lmp) val = dd.Value; s = [20 20]; switch val case {1, 2, 3, 4} % User selected a defined option size = val * s; lmp.Position(3:4) = size; otherwise % User typed a value m = str2num(val); size = m * s; lmp.Position(3:4) = size; end end
Запустите lampSize
и выберите различные варианты из выпадающего компонента.
Введите значение в выпадающем компоненте и нажмите Enter. Изменения размера лампы. (Если вы вводите большое значение, вам придется изменить размер фигуры, чтобы видеть лампу.)
parent
— Родительский контейнерFigure
объект (значение по умолчанию) | Panel
возразите | Tab
возразите | ButtonGroup
возразите | GridLayout
объектРодительский контейнер в виде Figure
объект создал использование uifigure
функция или один из ее дочерних контейнеров: Tab
Панель
Группа кнопок
, или GridLayout
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция, чтобы создать новый Figure
объект, который служит родительским контейнером.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Items',{'Red','Yellow','Blue'}
задает опции, представленные в выпадающем компоненте.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите DropDown Properties.
'Value'
ЗначениеItems
| элемент ItemsData
Значение в виде элемента Items
или ItemsData
массивы. По умолчанию, Value
первый элемент в Items
.
Определение Value
как элемент Items
выбирает выпадающий элемент, который совпадает с тем элементом. Если ItemsData
не пусто, затем Value
должен быть установлен в элемент ItemsData
, и выпадающее выберет связанный элемент в списке.
'Items'
— Выпадающие элементы{'Option 1','Option 2','Option 3','Option 4'}
(значение по умолчанию) | массив ячеек из символьных векторов | массив строк |...Выпадающие элементы в виде массива ячеек из символьных векторов, массива строк или 1D категориального массива. Дублирующиеся элементы позволены. Выпадающие отображения компонента столько же опций сколько существуют элементы в Items
массив. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
Пример: {'Red','Yellow','Blue'}
Пример: {'1','2','3'}
'ItemsData'
— Данные сопоставлены с каждым элементом Items
значение свойства[]
) (значение по умолчанию) | числовой массив 1 на n | массив ячеек 1 на nДанные сопоставлены с каждым элементом Items
значение свойства в виде числового массива 1 на n или массива ячеек 1 на n. Дублирующиеся элементы позволены.
Например, если вы устанавливаете Items
значение к именам сотрудника, вы можете установить ItemsData
значение к соответствующим идентификационным номерам сотрудника. ItemsData
значение не отображается к пользователю приложения.
Если количество элементов массива в ItemsData
значение и Items
значение не соответствует, одно из следующего происходит:
Когда ItemsData
значение пусто, затем все элементы Items
значение представлено пользователю приложения.
Когда ItemsData
значение имеет больше элементов, чем Items
значение, затем все элементы Items
значение представлено пользователю приложения. MATLAB игнорирует дополнительный ItemsData
элементы.
Когда ItemsData
значение не пусто, но имеет меньше элементов, чем Items
значение, единственные элементы Items
значение, представленное пользователю приложения, является теми, которые имеют соответствующий элемент в ItemsData
значение.
Пример: {'One','Two','Three'}
Пример: [10 20 30 40]
'Editable'
— Доступное для редактирования состояние выпадающего компонента'off'
(значение по умолчанию) | логическое значение включения - выключенияДоступное для редактирования состояние выпадающего компонента в виде 'off'
или 'on'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если Enable
значением свойства является 'off'
, затем пользователь приложения не может изменить выпадающий текст компонента, даже если Доступным для редактирования значением свойства является 'on'
.
'ValueChangedFcn'
— Значение изменило коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выбирает различную опцию из выпадающего списка. Это не выполняется если Value
свойство изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с выпадающим. MATLAB передает эту информацию в ValueChangedData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue
возвращает предыдущее значение выпадающего. ValueChangedData
объект не доступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Выпадающее значение компонента после нового взаимодействия пользователя приложения с ним. |
PreviousValue | Выпадающее значение компонента перед новым взаимодействием пользователя приложения с ним. |
Edited | Логическое значение, которое указывает, выполнялся ли коллбэк в результате ввода нового значения на выпадающий компонент.
|
Source | Компонент, который выполняет обратный вызов. |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
'DropDownOpeningFcn'
— Выпадающее меню, открывающее функцию обратного вызова''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовВыпадающее меню, открывающее функцию обратного вызова в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда пользователь щелкает, чтобы открыть выпадающее меню. Возможное применение для этого коллбэка должно обновить динамический список записей в списке меню.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.