(App Designer) Создает компонент поля списка
Используйте только с App Designer или фигурами, созданными с функцией uifigure
. При использовании GUIDE или функции figure
, создайте поле списка с помощью uicontrol
.
lb = uilistbox
lb = uilistbox(parent)
lb = uilistbox(___,Name,Value)
создает поле списка в новом окне фигуры и возвращает объект lb = uilistbox
ListBox
. MATLAB® вызывает функцию uifigure
, чтобы создать фигуру.
создает поле списка в заданном родительском контейнере. Родительский элемент может быть созданным использованием lb = uilistbox(parent)
Figure
функции uifigure
или одного из ее дочерних контейнеров.
Создайте поле списка в окне фигуры.
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
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Элементы', {'Модель 1', 'Модель 2', 'Модель 3', 'Модель 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 | массив строкЭлементы поля списка, заданные как массив ячеек из символьных векторов или массив строк. Дублирующиеся элементы позволены. Отображения поля списка столько же опций сколько существуют элементы в массиве Items
.
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
.
Пример: {'Один', 'Два', 'Три'}
Пример: [10 20 30 40]
'Multiselect'
— Несколько выбор узла'off'
(значение по умолчанию) | 'on'
Несколько выбор узла, заданный как 'off'
или 'on'
. Установите это свойство на 'on'
позволять пользователям выбирать несколько элементов одновременно.
ValueChangedFcn
Значение измененная функция''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаЗначение измененная функция, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выбирает различный элемент в поле списка. Это не выполняется, если установка свойства Value
изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с полем списка. MATLAB передает эту информацию в объекте ValueChangedData
в качестве второго аргумента к вашей функции обратного вызова. In App Designer, the argument is called event.
You can query the object properties using dot notation., Например, event.PreviousValue
возвращает предыдущее значение поля списка. Объект ValueChangedData
не доступен функциям обратного вызова, заданным как векторы символов.
В следующей таблице перечислены свойства объекта ValueChangedData
.
Свойство | Значение |
---|---|
Значение | Значение поля списка после нового взаимодействия пользователя приложения с ним |
PreviousValue | Значение поля списка перед новым взаимодействием пользователя приложения с ним |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи обратных вызовов, смотрите Обратные вызовы Записи в App Designer.
'Position'
— Местоположение и размер поля списка[100 100 100 74]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер поля списка относительно родительского контейнера, заданного как векторный [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю поля списка |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю поля списка |
width | Расстояние между правыми и левыми внешними краями поля списка |
высота | Расстояние между верхними и нижними внешними краями поля списка |
Все измерения указаны в пикселях.
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 200]
Используйте функцию scroll
, чтобы программно прокрутить элемент поля списка или верхнюю часть или нижнюю часть списка в представление.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.