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