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