exponenta event banner

uilistbox

Создать компонент списка

Описание

lb = uilistbox создает окно списка в новом окне фигуры и возвращает ListBox объект. MATLAB ® вызывает uifigure для создания фигуры.

пример

lb = uilistbox(parent) создает поле списка в указанном родительском контейнере. Родителем может быть Figure создан с помощью 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 и выберите элементы из списка. В текстовой области отображается выбранный фрагмент.

Входные аргументы

свернуть все

Родительский контейнер, указанный как 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.

Значение, указанное как элемент Items массив, ItemsData массив или пустой массив ячеек. По умолчанию Value является первым элементом в Items.

Чтобы указать отсутствие выбора, задайте Value в пустой массив ячеек.

Определение Value как элемент Items выбирает элемент списка, соответствующий этому элементу. Если ItemsData не пуст, то Value должен иметь значение элемента ItemsDataи в поле списка будет выбран связанный элемент в списке.

Элементы списка, указанные как массив ячеек из векторов символов, строковый массив или 1-D категориальный массив. Допускаются повторяющиеся элементы. В списке отображается столько опций, сколько элементов в Items массив. Если это свойство указано как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.

Данные, связанные с каждым элементом 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]

Выбор нескольких элементов, указанный как 'off' или 'on'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

Установить для этого свойства значение 'on' позволяет пользователям выбирать несколько элементов одновременно.

Функция изменения значения, заданная как одно из следующих значений:

  • Дескриптор функции.

  • Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.

Эта функция обратного вызова выполняется, когда пользователь выбирает другой элемент в списке. Он не выполняется, если Value настройка свойств изменяется программно.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя со списком. MATLAB передает эту информацию в ValueChangedData объект в качестве второго аргумента функции обратного вызова. В App Designer аргумент называется event. Можно запросить свойства объекта с помощью точечной нотации. Например, event.PreviousValue возвращает предыдущее значение списка. ValueChangedData недоступен для функций обратного вызова, указанных как векторы символов.

В следующей таблице перечислены свойства ValueChangedData объект.

СобственностьСтоимость
ValueЗначение списка после последнего взаимодействия с ним пользователя приложения
PreviousValueЗначение списка перед последним взаимодействием пользователя приложения с ним
SourceКомпонент, выполняющий обратный вызов
EventName'ValueChanged'

Дополнительные сведения о записи обратных вызовов см. в разделе Запись обратных вызовов в App Designer.

Расположение и размер окна списка относительно родительского контейнера, указанного как вектор [left bottom width height]. В этой таблице описывается каждый элемент вектора.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера до внешнего левого края списка
bottomРасстояние от внутреннего нижнего края родительского контейнера до внешнего нижнего края списка
widthРасстояние между правым и левым внешними краями списка
heightРасстояние между верхним и нижним внешними краями списка

Все измерения представлены в единицах пикселей.

Position значения относятся к области извлечения родительского контейнера. Извлекаемая область представляет собой область внутри границ контейнера и не включает область, занятую украшениями, такими как строка меню или заголовок.

Пример: [100 100 100 200]

Совет

Используйте scroll функция для программной прокрутки элемента списка или верхней или нижней части списка в режим просмотра.

См. также

Функции

Свойства

Представлен в R2016a