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ПанельГруппа кнопок, или GridLayout. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure функция, чтобы создать новый Figure объект, который служит родительским контейнером.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Items',{'Model 1','Model 2', 'Model 3', 'Model 4'} задает опции поля списка, которые пользователь приложения видит, сверху донизу.

Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите ListBox Properties.

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

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

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

Элементы поля списка в виде массива ячеек из символьных векторов, массива строк или 1D категориального массива. Дублирующиеся элементы позволены. Отображения поля списка столько же опций сколько существуют элементы в 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 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

Значение измененная функция в виде одного из этих значений:

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

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

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

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

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

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

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

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

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

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

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

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

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

Советы

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

Смотрите также

Функции

Свойства

Введенный в R2016a