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.

Этот код создает приложение, содержащее список и текстовую область. 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 и выберите элементы из списка. В текстовой области отображается выбранное значение.

Входные параметры

свернуть все

Родительский контейнер, заданный как 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 значение соответствующих идентификационных номеров сотрудников. The 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

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

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

  • Указатель на функцию.

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

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

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

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

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

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

Для получения дополнительной информации о записи коллбэков см. Раздел «Запись коллбэков в App Designer».

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

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

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

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

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

Совет

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

См. также

Функции

Свойства

Введенный в R2016a
Для просмотра документации необходимо авторизоваться на сайте