uicontrol

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

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

Синтаксис

c = uicontrol
c = uicontrol(Name,Value)
c = uicontrol(parent)
c = uicontrol(parent,Name,Value)
uicontrol(c)

Описание

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

Выберите различный пункт меню, чтобы изменить выбор. Например, если вы выбираете "Kelvin" из всплывающего меню, командная строка затем отображает текст 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, или как один из ее дочерних контейнеров: Panel, ButtonGroup или объект Tab. Используйте этот аргумент, чтобы задать родительский контейнер при создании управления пользовательским интерфейсом.

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

Пример: uicontrol(c)

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

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

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

Примечание

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

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

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


Кнопка, которая похожа на кнопку, но это визуально указывает на ее состояние: выбранный или очищенный.
'checkbox'


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


Опция, которая предназначается, чтобы явиться частью группы, такой, что, когда выбрано, это очищает другие опции в группе.


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

'edit'

Доступное для редактирования текстовое поле.


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

'text'

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


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

'slider'

Кнопка "Thumb", что пользователь проходит горизонтальная или вертикальная панель. Местоположение кнопки вдоль панели указывает на значение в заданной области значений.

'listbox'

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


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

'popupmenu'

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

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

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

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

Символьный вектор


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


StringArray


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

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

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

Символьный вектор


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


StringArray


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


Разграниченный каналом вектор - строка

'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