uieditfield

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

Синтаксис

edt = uieditfield
edt = uieditfield(style)
edt = uieditfield(parent)
edt = uieditfield(parent,style)
edt = uieditfield(___,Name,Value)

Описание

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');

Введите 5.5556 в числовом поле редактирования, и затем щелкните снаружи. Поле редактирования отображает 5.56.

MATLAB хранит значение как 5.556. Если вы щелкаете в поле редактирования, оно отображает 5.556.

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

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

function textValue
% Create figure and components.

fig = uifigure('Position',[100 100 350 275]);

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 350 275]);

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

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

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

Функции

Свойства

Введенный в R2016a