uicontrol

Создайте управление пользовательским интерфейсом

Используйте эту функцию только с приложениями, созданными с помощью figure функция или с GUIDE. App Designer является рекомендуемым окружением для создания приложений. Для получения дополнительной информации смотрите GUIDE Migration Strategies.

Описание

c = uicontrol создает кнопку (управление пользовательским интерфейсом по умолчанию) на текущей фигуре и возвращает UIControl объект. Если рисунок не существует, то MATLAB® вызывает figure функцию, чтобы создать единицу.

пример

c = uicontrol(Name,Value) создает элемент управления пользовательским интерфейсом со значениями свойств, заданными с помощью одного или нескольких аргументов пары "имя-значение". Для примера, 'Style','checkbox' устанавливает флажок.

c = uicontrol(parent) создает управление пользовательским интерфейсом по умолчанию в указанном родительском элементе того, чтобы устанавливать по умолчанию текущую фигуру.

пример

c = uicontrol(parent,Name,Value) задаёт родительский элемент для элемента управления пользовательского интерфейса и одного или нескольких аргументов пары "имя-значение".

пример

uicontrol(c) предоставляет особое внимание ранее заданному элементу управления пользовательского интерфейса.

Примеры

свернуть все

Создайте переключатель путем определения 'Style' аргумент пары "имя-значение" как 'radiobutton'. Пометьте переключатель путем определения значения для 'String' аргумент пары "имя-значение".

c = uicontrol('Style','radiobutton','String','Option 1');

Создайте рисунок и панель, расположенные внутри нее. Затем создайте ползунок внутри панели, вызвав uicontrol функция с панелью, заданной как родительская и 'Style' задается как 'slider'. Затем установите ползунок Value свойство к 0.5.

f = figure;
p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]);
c = uicontrol(p,'Style','slider');
c.Value = 0.5;

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

Сохраните этот код как mytemps.m. Этот код создает окно рисунка с всплывающим меню, содержащим три элемента списка. Затем он использует функцию обратного вызова, чтобы запросить Value и String свойства всплывающего меню и отображения выбранного элемента в командной строке.

function mytemps
f = figure;
c = uicontrol(f,'Style','popupmenu');
c.Position = [20 75 60 20];
c.String = {'Celsius','Kelvin','Fahrenheit'};
c.Callback = @selection;

    function selection(src,event)
        val = c.Value;
        str = c.String;
        str{val};
        disp(['Selection: ' str{val}]);
    end

end

Запустите программу, чтобы сгенерировать рисунок и ее содержимое.

mytemps

Выберите другой элемент меню, чтобы изменить выбор. Например, если из всплывающего меню выбрать «Кельвин», то в командной строке отобразится текст Selection: Kelvin.

Создайте кнопку, которая строит график данных при клике по нему.

Сохраните этот код как pushbuttonPlot.m. Этот код создает окно рисунка, которое содержит оси и кнопку. Каждый раз, когда вы нажимаете кнопку, функция обратного вызова выполняет и строит столбчатую диаграмму из пяти обычно распределенных случайных чисел.

function pushbuttonPlot
f = figure;
ax = axes(f);
ax.Units = 'pixels';
ax.Position = [75 75 325 280]
c = uicontrol;
c.String = 'Plot Data';
c.Callback = @plotButtonPushed;

    function plotButtonPushed(src,event)
        bar(randn(1,5));
    end

end

Выполняйте pushbuttonPlot, а затем нажмите кнопку. Графики MATLAB данных.

Создайте редактируемое текстовое поле и приведите его в особое внимание путем передачи его указателя на функцию в uicontrol функция. Это действие приводит к тому, что курсор становится активным и мигает внутри редактируемого текстового поля.

c = uicontrol('Style','edit');
uicontrol(c);

Входные параметры

свернуть все

Родительский объект, заданный как Figure объект, созданный с использованием figure функция, или как один из дочерних контейнеров: a Panel, ButtonGroup, или Tab объект. Используйте этот аргумент, чтобы задать родительский контейнер при создании элемента управления пользовательского интерфейса.

Объект управления пользовательским интерфейсом, заданный как UIControl объект. Используйте этот аргумент для задания ранее определенного элемента управления пользовательским интерфейсом, который необходимо фокусировать.

Пример: uicontrol(c)

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

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

Пример: uicontrol('Style','checkbox') устанавливает флажок в качестве стиля элемента управления пользовательского интерфейса.

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства UIControl.

Стиль UIControl объект, заданный как значение из следующей таблицы.

Значение свойства стиляПримерОписание
'pushbutton'Push buttonКнопка, которая нажимается до тех пор, пока вы не отпустите кнопку мыши.
'togglebutton'

Selected toggle button
Cleared toggle button

Кнопка, которая выглядит как кнопка, но визуально указывает на ее состояние: выбран или удален.
'checkbox'

Selected check box
Cleared check box

Опция, которая может быть выбрана или удалена независимо.
'radiobutton'

Selected radio button
Cleared radio button

Опция, которая предназначена для формирования части группы, так что при выборе она очищает другие опции в группе.


Чтобы реализовать взаимоисключающее поведение для набора переключателей, поместите их в uibuttongroup.

'edit'

Editable text field that says, "Enter search term"

Редактируемое текстовое поле.


Чтобы включить несколько линии текста, установите Max и Min так что Max-Min > 1.

'text'

Static text field that says, "Select an item below:"

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


Чтобы статический текст отвечал на клики мыши, установите Enable свойство к 'Inactive' и закодируйте ответ с ButtonDownFcn коллбэк.

'slider'

Slider with the thumb at the leftmost location

Кнопка «Большой палец», которую пользователь перемещает по горизонтальной или вертикальной полосе. Расположение кнопки на панели указывает значение в заданной области.

'listbox'

List box with three items

Список элементов, из которых пользователь может выбрать один или несколько элементов. В отличие от всплывающих меню, поля списка не расширяются при нажатии кнопки мыши.


Чтобы включить множественный выбор элементов, установите Max и Min так что Max-Min > 1. Чтобы задержать действие, когда из списка можно выбрать несколько элементов, можно связать Done кнопку с полем списка. Затем используйте коллбэк для этой кнопки, чтобы вычислить поле списка Value свойство.

'popupmenu'

Pop-up menu with three items

Всплывающее меню (также известное как раскрывающееся меню), которое расширяется для отображения списка вариантов. При закрытии всплывающее меню указывает текущий выбор. Используйте всплывающие меню, когда вы хотите предоставить ряд взаимоисключающих вариантов.

'frame'The 'frame' опция не рекомендуется. Использовать uipanel или uibuttongroup вместо систем координат. GUIDE продолжает поддерживать системы координат в пользовательских интерфейсах, которые их содержат, но компонент системы координат не отображается в палитре компонентов Компоновки GUIDE Редактора.

Текст для отображения, заданный как вектор символов, массив ячеек из векторов символов, строковых массивов, категориального массива или вектора-строки с разделителем каналов. The Style свойство определяет формат массива, который можно использовать.

Свойство стиляПоддерживаемые форматы массивовПримеры
'pushbutton'

Вектор символов


Массив ячеек из символьных векторов


Строковые массивы


Категориальный массив

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

Вектор символов


Массив ячеек из символьных векторов


Строковые массивы


Категориальный массив


Разделенные трубами векторы-строки

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

Примечание

Если для кнопки, кнопки-переключателя, флажка или переключателя задан массив ячеек или категориальный массив, MATLAB отображает только первый элемент массива.

Расположение и размер, заданные как четырехэлементный вектор формы [left bottom width height]. Модули измерения по умолчанию указаны в пикселях. Таблица описывает каждый элемент в векторе.

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

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

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

Свойство стиляОписание свойства значения
'togglebutton'
  • Выбран: Значение Max свойство.

  • Очищено: Значение Min свойство.

'checkbox'
  • Выбран: Значение Max свойство.

  • Очищено: Значение Min свойство.

'radiobutton'
  • Выбран: Значение Max свойство.

  • Очищено: Значение Min свойство.

'slider'Значение, сопоставленное с расположением большого пальца вдоль ползунка.
'listbox'Индекс массива, соответствующий выбранному элементу в поле списка. Значение 1 (по умолчанию) соответствует первому элементу списка. Когда выбрано несколько элементов, Value свойство сохраняет индексы строк как вектор.
'popupmenu'Индекс массива, соответствующий выбранному элементу во всплывающем меню. Значение 1 (по умолчанию) соответствует первому элементу во всплывающем меню.
Представлено до R2006a