uilistbox

(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 или одного из ее дочерних контейнеров.

пример

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.

Аргументы в виде пар имя-значение

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

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

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

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

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

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

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

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

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

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

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

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

  • Вектор символа, содержащий допустимое выражение 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.

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

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

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

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

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

Советы

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

Введенный в R2016a

Была ли эта тема полезной?