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

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

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

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

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

Функции

Свойства

Введенный в R2016a