Создайте компонент поля списка
lb = uilistbox
lb = uilistbox(parent)
lb = uilistbox(___,Name,Value)
создает поле списка в новом окне рисунка и возвращает объект 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.
Этот код создает приложение, содержащее поле списка и текстовую область. Коллбэк 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Items',{'Model 1','Model 2', 'Model 3', 'Model 4'}
задает опции поля списка, которые пользователь приложения видит, сверху донизу.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите ListBox Properties.
Значение
ЗначениеItems
| элемент ItemsData
| {}
Значение, заданное как элемент массива Items
, массива ItemsData
или массива пустой ячейки. По умолчанию Value
является первым элементом в Items
.
Чтобы не задать выбор, установите Value
на массив пустой ячейки.
При определении Value
, когда элемент Items
выбирает элемент списка, который совпадает с тем элементом. Если ItemsData
не пуст, то Value
должен быть установлен в элемент ItemsData
, и поле списка выберет связанный элемент в списке.
'Items'
— Элементы поля списка{'Item 1','Item 2', 'Item 3', 'Item 4'}
(значение по умолчанию) | массив ячеек из символьных векторов 1 на n | массив строк |...Элементы поля списка, заданные как массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Дублирующиеся элементы позволены. Отображения поля списка столько же опций сколько существуют элементы в массиве Items
. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
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]
'Multiselect'
— Несколько выбор узла'off'
(значение по умолчанию) | 'on'
Несколько выбор узла, заданный как 'off'
или 'on'
. Установите это свойство на 'on'
позволять пользователям выбирать несколько элементов одновременно.
ValueChangedFcn
Значение измененная функция''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение измененная функция, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выбирает различный элемент в поле списка. Это не выполняется, если установка свойства Value
изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с полем списка. MATLAB передает эту информацию в объекте ValueChangedData
в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием.
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue
возвращает предыдущее значение поля списка. Объект 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 | Расстояние между верхними и нижними внешними краями поля списка |
Все измерения указаны в пикселях.
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 200]
Используйте функцию scroll
, чтобы программно прокрутить элемент поля списка или верхнюю часть или нижнюю часть списка в представление.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.