exponenta event banner

uieditfield

Создание текстового или числового компонента поля редактирования

Описание

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

edt = uieditfield(style) создает поле редактирования заданного стиля.

пример

edt = uieditfield(parent) создает поле редактирования в указанном родительском контейнере. Родителем может быть Figure создан с помощью uifigure функцию или один из ее дочерних контейнеров.

пример

edt = uieditfield(parent,style) создает поле редактирования указанного стиля в указанном родительском контейнере.

пример

edt = uieditfield(___,Name,Value) задание свойств объекта с использованием одного или нескольких Name,Value аргументы пары. Используйте эту опцию с любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создание поля редактирования текста в окне.

fig = uifigure;
edt = uieditfield(fig);

Создайте числовое поле редактирования, указав стиль в качестве числового.

fig = uifigure;
edt = uieditfield(fig,'numeric');

Укажите Panel в качестве родительского объекта.

fig = uifigure;
pnl = uipanel(fig);
edt = uieditfield(pnl,'numeric');

Создание числового поля редактирования с округлением.

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                    'RoundFractionalValues','on');

Определите пределы по умолчанию.

limits = edt.Limits
limits =

  -Inf   Inf

Возвращенные значения указывают на отсутствие ограничений.

Измените пределы на 0 через 100. (По умолчанию ограничения включают.)

edt.Limits = [0 100];

Создайте числовое поле редактирования, позволяющее пользователю приложения вводить значение больше -5 и меньше или равное 10.

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                      'Limits', [-5 10],...
                      'LowerLimitInclusive','off',...
                      'UpperLimitInclusive','on',...
                      'Value', 5);

При вводе значения в поле числового редактирования, которое находится вне пределов, MATLAB выводит сообщение. Сообщение указывает на проблему и восстанавливает предыдущее допустимое значение.

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

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                      'ValueDisplayFormat', '%.2f Volts');

Напечатать 5.5556 в числовом поле редактирования, а затем щелкните за его пределами. Отображается поле редактирования 5.56 Volts.

MATLAB сохраняет значение как 5.5556. При повторном щелчке в поле редактирования отображается 5.5556. Полный список поддерживаемых операторов отображения формата см. в разделе sprintf.

Кодировать ValueChangedFcn обратный вызов, чтобы при изменении пользователем приложения текста в поле редактирования метка обновлялась в соответствии с этим текстом.

Сохранить следующий код в textValue.m на пути MATLAB.

function textValue
% Create figure and components.

fig = uifigure('Position',[100 100 366 270]);

lbl = uilabel(fig,...
      'Position',[130 100 100 15]);

txt = uieditfield(fig,...
      'Position',[100 175 100 22],...
      'ValueChangedFcn',@(txt,event) textChanged(txt,lbl));
end

% Code the callback function.
function textChanged(txt,lbl)
lbl.Text = txt.Value;
end

Управляемый textValue, и тип Velocity в поле редактирования. Щелкните за пределами поля редактирования, чтобы вызвать обратный вызов.

Кодировать ValueChangedFcn обратный вызов таким образом, что при изменении пользователем приложения значения в поле редактирования ползунок обновляется в соответствии с этим значением.

Сохранить следующий код в numericEditFieldValue.m на пути MATLAB.

function numericEditFieldValue
% Create figure and components

fig = uifigure('Position',[100 100 366 270]);

slider = uislider(fig,...
    'Position',[100 140 120 3]);

numfld = uieditfield(fig,'numeric',...
    'Position',[110 200 100 22],...
    'ValueChangedFcn',@(numfld,event) numberChanged(numfld,slider));

end

% Create ValueChangedFcn callback
function numberChanged(numfld,slider)
slider.Value = numfld.Value;
end

Управляемый numericEditFieldValue.

Введите значение от 0 до 100 в поле числового редактирования и щелкните за пределами поля. Ползунок перемещается для указания числового значения поля редактирования.

Кодировать ValueChangedFcn обратный вызов для ведения журнала значений, введенных в одном сеансе. Когда пользователь приложения изменяет значение в поле редактирования, предыдущее значение поля добавляется в список, поддерживаемый в текстовой области. Обратный вызов использует PreviousValue возвращенное в event аргумент для заполнения текстовой области.

Сохранить следующий код в logNames.m на пути MATLAB.

function logNames
% Create figure and components

fig = uifigure('Position',[100 100 366 400]);

loglist = uitextarea(fig,...
    'Position',[134 49 150 277],...    
    'Editable','off');

namefld = uieditfield(fig,'text',...
  'Value', 'Bob Langley',...
  'Position',[134 367 100 22],...
  'ValueChangedFcn',@(namefld,event) nValChanged(namefld,event,loglist));
end

% Create ValueChangedFcn callback
function nValChanged(namefld,event,loglist)
newvalue = event.Value;
previousValue = event.PreviousValue;

loglist.Value = [previousValue; loglist.Value];

end

Управляемый logNames.

При каждом вводе имени в поле редактирования текста и нажатии клавиши Enter в текстовую область добавляется имя, которое было ранее в поле редактирования текста.

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

свернуть все

Тип поля редактирования, указанный как одно из следующих:

  • 'text'

    По умолчанию поля редактирования текста пусты.

  • 'numeric'

    По умолчанию в числовых полях редактирования отображается значение 0. Если пользователь приложения вводит нечисловое значение в числовое поле редактирования, MATLAB открывает подсказку об ошибке и возвращает значение к последнему допустимому значению.

Родительский контейнер, указанный как Figure объект, созданный с помощью uifigure функцию или один из ее дочерних контейнеров: Tab, Panel, ButtonGroup, или GridLayout. Если родительский контейнер не указан, MATLAB вызывает uifigure для создания новой функции Figure объект, который служит родительским контейнером.

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

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

EditField и NumericEditField объекты поддерживают различные наборы свойств. Полный список свойств и описаний объекта см. на странице связанных свойств.

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