Создайте компонент окна списка
создает список в новом окне рисунка и возвращает lb
= uilistboxListBox
объект. MATLAB® вызывает uifigure
функция для создания рисунка.
задает lb
= uilistbox(___,Name,Value
)ListBox
свойства с использованием одного или нескольких Name,Value
аргументы в виде пар. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.
Создайте список в окне рисунка.
fig = uifigure('Position', [100 100 300 250]);
lbx = uilistbox(fig);
Создайте список.
fig = uifigure; lbx = uilistbox(fig);
Определите, разрешено ли в списке несколько вариантов выбора.
multi = lbx.Multiselect
multi = off
Включите мультиселекцию.
lbx.Multiselect = 'on';
Создайте список, который выполняет действие при выборе пользователем элемента в списке.
Сохраните следующий код следующим selectlistbox.m
на пути MATLAB.
Этот код создает приложение, содержащее список и текстовую область. The ValueChangedFcn
коллбэк обновляет текстовую область, чтобы отобразить выбор окна списка.
function selectlistbox fig = uifigure('Position',[100 100 350 275]); % Create text area txt = uitextarea(fig,... 'Position',[125 90 100 22],... 'Value','First'); % Create list box lbox = uilistbox(fig,... 'Position',[125 120 100 78],... 'Items',{'First','Second','Third'},... 'ValueChangedFcn', @updateEditField); % ValueChangedFcn callback function updateEditField(src,event) txt.Value = src.Value; end end
Выполняйте selectlistbox
и выберите опцию из списка.
Создайте список, в котором числовое значение сопоставлено с каждым элементом. Когда пользователь выбирает элемент в списке, в поле редактирования отображается соответствующее числовое значение.
Сохраните следующий код следующим dataselection.m
на пути MATLAB. Этот код создает приложение, содержащее список и числовое поле редактирования. С каждым элементом в списке связана температура. Когда пользователь выбирает элемент в списке, ValueChangedFcn
коллбэк редактирования отображается соответствующая температура.
function dataselection fig = uifigure('Position',[100 100 350 275]); % Create Numeric Edit Field ef = uieditfield(fig,'numeric',... 'Position',[125 90 100 22]); % Create List Box lbox = uilistbox(fig,... 'Items', {'Freezing', 'Warm', 'Hot', 'Boiling'},... 'ItemsData', [0, 25, 40, 100],... 'Position',[125 120 100 78],... 'ValueChangedFcn', @selectionChanged); % ValueChangedFcn callback function selectionChanged(src,event) % Display list box data in edit field ef.Value = src.Value; end end
Выполняйте dataselection
и выберите элемент в списке. Числовое поле редактирования обновляется, чтобы отразить температуру, связанную с выбором.
Создайте приложение, содержащее список, в котором можно выбрать несколько элементов. Напишите ValueChangedFcn
коллбэк для отображения выбранных элементов в текстовой области под полем списка.
Сохраните следующий код следующим multiselect.m
на пути MATLAB.
function multiselect fig = uifigure('Position',[100 100 350 275]); % Create Text Area txt = uitextarea(fig,... 'Position',[125 80 100 50]); % Create List Box lbox = uilistbox(fig,... 'Position',[125 150 100 78],... 'Multiselect','on',... 'ValueChangedFcn',@selectionChanged); % ValueChangedFcn callback function selectionChanged(src,event) txt.Value = src.Value; end end
Выполняйте multiselect
и выберите элементы из списка. В текстовой области отображается выбранное значение.
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',{'Model 1','Model 2', 'Model 3', 'Model 4'}
задает опции списка, которые пользователь приложения видит сверху вниз.Перечисленные здесь свойства являются подмножеством доступных свойств. Полный список см. в разделе Свойства ListBox.
'Value'
- ЗначениеItems
| элемент ItemsData
| {}
Значение, заданное как элемент Items
массив, ItemsData
массив или пустой массив ячеек. По умолчанию Value
является первым элементом в Items
.
Чтобы не задавать выбор, задайте Value
в пустой массив ячеек.
Определение Value
как элемент Items
выбирает элемент списка, соответствующий этому элементу. Если ItemsData
не пуст, тогда Value
должен быть установлен в элемент ItemsData
, и в поле списка будет выбран связанный элемент в списке.
'Items'
- Список элементов коробки{'Item 1','Item 2', 'Item 3', 'Item 4'}
(по умолчанию) | массив ячеек 1 на n из векторов символов | | строковых массивов...Список элементов окна, заданный как массив ячеек из векторов символов, строковых массивов или 1-D категориального массива. Повторяющиеся элементы разрешены. В списке отображается столько опций, сколько элементов в Items
массив. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.
'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]
'Multiselect'
- Выбор нескольких элементов'off'
(по умолчанию) | логическое значение включения/выключенияВыбор нескольких элементов, заданный как 'off'
или 'on'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Установите это свойство на 'on'
чтобы разрешить пользователям выбирать несколько элементов одновременно.
'ValueChangedFcn'
- Функция изменения значения''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция изменения значения, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выбирает другой элемент в списке. Оно не выполняется, если Value
настройка свойств изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со списком. MATLAB передает эту информацию в ValueChangedData
объект как второй аргумент функции обратного вызова. В App Designer аргумент называется event
. Вы можете запросить свойства объекта с помощью записи через точку. Для примера, event.PreviousValue
возвращает предыдущее значение списка. The ValueChangedData
объект недоступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Значение списка после последнего взаимодействия пользователя приложения с ним |
PreviousValue | Значение списка перед последним взаимодействием пользователя приложения с ним |
Source | Компонент, который выполняет коллбэк |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков см. Раздел «Запись коллбэков в App Designer».
'Position'
- Расположение и размер списка[100 100 100 74]
(по умолчанию) | [left bottom width height]
Расположение и размер списка относительно родительского контейнера, заданные как вектор [left bottom width height]
. Эта таблица описывает каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера до внешнего левого края списка |
bottom | Расстояние от внутреннего нижнего ребра родительского контейнера до внешнего нижнего ребра списка |
width | Расстояние между правым и левым внешними краями списка |
height | Расстояние между верхним и нижним внешними краями списка |
Все измерения указаны в пикселях модулей.
The Position
значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и не включает область, занимаемую украшениями, такими как панель меню или заголовок.
Пример: [100 100 100 200]
Используйте scroll
функция для программной прокрутки элемента списка или его верхней или нижней части.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.