uicontrol

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

Синтаксис

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

Описание

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

пример

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

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

пример

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

пример

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

Примеры

свернуть все

Создайте переключатель путем определения аргумента в виде пар "имя-значение" '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 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 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. Это действие заставляет курсор, становятся активными, и мигание, в доступном для редактирования текстовом поле.

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

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

свернуть все

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

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

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

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

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

Примечание

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

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

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


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


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


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


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

Редактирование

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

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


Чтобы заставить статический текст ответить на клики мыши, смотрите Советы.

Ползунок

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

Поле списка

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


Чтобы задержать действие, когда несколько элементов смогут быть выбраны, смотрите Советы.

Всплывающее меню

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

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

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

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

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


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


StringArray

'Option 1'


{'Option 1'}


"Option 1"

Кнопка-переключатель
Флажок
Переключатель
Редактирование
Текст
Поле списка

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


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


StringArray


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

'One'


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


["One" "Two" "Three"]


'One|Two|Three'

Всплывающее меню

Примечание

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

Типы данных: char | представляет в виде строки | ячейка

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

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

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

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

Свойство стиляОписание свойства значения
Кнопка-переключатель
  • Выбранный: Значение свойства Max.

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

Флажок
  • Выбранный: Значение свойства Max.

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

Переключатель
  • Выбранный: Значение свойства Max.

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

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

Советы

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

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

Представлено до R2006a

Была ли эта тема полезной?