Создайте раскрывающийся компонент
создает раскрывающийся список в новом окне рисунка и возвращает 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
, Panel
, ButtonGroup
, или GridLayout
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция для создания нового Figure
объект, который служит родительским контейнером.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Items',{'Red','Yellow','Blue'}
задает опции, представленные в раскрывающемся компоненте.Перечисленные здесь свойства являются подмножеством доступных свойств. Полный список см. в разделе Свойства DropDown.
'Value'
- ЗначениеItems
| элемент ItemsData
Значение, заданное как элемент Items
или ItemsData
массивы. По умолчанию Value
является первым элементом в Items
.
Определение Value
как элемент Items
выбирает раскрывающийся элемент, соответствующий этому элементу. Если ItemsData
не пуст, тогда Value
должен быть установлен в элемент ItemsData
, и в раскрывающемся списке будет выбран связанный элемент в списке.
'Items'
- Выпадающие элементы{'Option 1','Option 2','Option 3','Option 4'}
(по умолчанию) | массив ячеек из векторов символов | | строкового массива...Раскрывающиеся элементы, заданные как массив ячеек из векторов символов, строковых массивов или 1-D категориального массива. Повторяющиеся элементы разрешены. Раскрывающийся компонент отображает столько опций, сколько элементов в Items
массив. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.
Пример: {'Red','Yellow','Blue'}
Пример: {'1','2','3'}
'ItemsData'
- Данные, сопоставленные с каждым элементом Items
значение свойства[]
) (по умолчанию) | числовой массив 1 на n | массив ячеек 1 на nДанные, сопоставленные с каждым элементом Items
значение свойства, заданное как числовой массив 1 на n или массив ячеек 1 на n. Повторяющиеся элементы разрешены.
Для примера, если вы задаете Items
значение имен сотрудников, можно задать ItemsData
значение соответствующих идентификационных номеров сотрудников. The 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
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Если на Enable
значение свойства 'off'
, тогда пользователь приложения не может изменить раскрывающийся текст компонента, даже если значение свойства Editable 'on'
.
'ValueChangedFcn'
- Изменение значения коллбэка''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк, заданное как одно из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выбирает другую опцию из выпадающего списка. Оно не выполняется, если Value
свойство изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с раскрывающимся списком. MATLAB передает эту информацию в ValueChangedData
объект как второй аргумент функции обратного вызова. В App Designer аргумент называется event
. Вы можете запросить свойства объекта с помощью записи через точку. Для примера, event.PreviousValue
возвращает предыдущее значение раскрывающегося списка. The ValueChangedData
объект недоступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Раскрывающееся значение компонента после последнего взаимодействия пользователя приложения с ним. |
PreviousValue | Раскрывающееся значение компонента перед последним взаимодействием пользователя приложения с ним. |
Edited | Логическое значение, указывающее, выполнен ли коллбэк в результате ввода нового значения в раскрывающийся компонент.
|
Source | Компонент, который выполняет коллбэк. |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков см. Раздел «Запись коллбэков в App Designer».
'DropDownOpeningFcn'
- Раскрывающееся меню, открывающее функцию обратного вызова''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовРаскрывающееся меню, открывающее функцию обратного вызова, задается как одно из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, которая должна выполняться при клике пользователя, чтобы открыть раскрывающееся меню. Возможно, этот коллбэк используется для обновления динамического списка записей в списке меню.
Дополнительные сведения об указании коллбэка как указателя на функцию, массива ячеек или вектора символов см. в разделе Запись коллбэков в App Designer.
'Position'
- Расположение и размер раскрывающегося компонента[100 100 100 22]
(по умолчанию) | [left bottom width height]
Расположение и размер выпадающего компонента относительно родительского элемента, заданные как вектор [left bottom width height]
. Эта таблица описывает каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера до внешнего левого края раскрывающегося компонента |
bottom | Расстояние от внутреннего нижнего ребра родительского контейнера до внешнего нижнего ребра раскрывающегося компонента |
width | Расстояние между правым и левым внешними краями раскрывающегося компонента |
height | Расстояние между верхним и нижним внешними краями раскрывающегося компонента |
Все измерения указаны в пикселях модулей.
The Position
значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и не включает область, занимаемую украшениями, такими как панель меню или заголовок.
Пример: [100 100 100 22]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.