Создать компонент ручки
создает ручку в новом окне фигуры и возвращает kb = uiknobKnob объект. MATLAB ® вызывает uifigure для создания фигуры.
определяет стиль ручки.kb = uiknob(style)
задание свойств объекта с использованием одного или нескольких kb = uiknob(___,Name,Value)Name,Value аргументы пары. Используйте эту опцию с любой из комбинаций входных аргументов в предыдущих синтаксисах.
fig = uifigure; kb = uiknob(fig);

Укажите Figure объект в качестве родительского контейнера.
fig = uifigure('Position',[100 100 300 250]); kb = uiknob(fig,'discrete');

Создайте непрерывную ручку на рисунке.
fig = uifigure; kb = uiknob(fig);
Определите пределы ручки.
limits = kb.Limits
limits =
0 100Измените пределы и значение ручки.
kb.Limits = [-10 10]; kb.Value = 5;

Создайте дискретную ручку.
fig = uifigure;
kb = uiknob(fig,'discrete');
Измените состояния ручки. Связывание определенных данных с состояниями ручки путем конфигурирования ItemsData. В этом случае ItemsData отражает температуру в градусах по Фаренгейту.
kb.Items = {'Cold', 'Warm', 'Hot'};
kb.ItemsData = {32, 80, 212};

Получение температуры, связанной с текущим значением ручки.
degrees = kb.Value
degrees =
32Создайте дискретную ручку, которая выполняет действие после того, как пользователь приложения ее развернет. Поворот ручки обновляет значение текстового поля, чтобы отразить выбор пользователя приложения.
Копирование и вставка следующего кода в файл с именем displayknobvalue.m на пути MATLAB. Этот код создает окно, содержащее дискретную ручку и текстовое поле. Он определяет ValueChangedFcn обратный вызов для обновления текстового поля при повороте ручки.
function displayKnobValue % Create figure window fig = uifigure('Position',[100 100 283 275]); % Create the text field txt = uieditfield(fig,'text',... 'Position', [69 82 100 22]); % Create the knob kb = uiknob(fig,'discrete',... 'Position',[89 142 60 60],... 'ValueChangedFcn',@(kb,event) knobTurned(kb,txt)); end % Code the knob callback function function knobTurned(knob,txt) txt.Value = knob.Value; end
Управляемый displayKnobValue, а затем повернуть ручку. При отпускании кнопки мыши поле редактирования обновляется для отражения нового значения ручки.

Создайте непрерывную ручку, которая выполняет действие после ее поворота пользователем. Поворот ручки обновляет значение метки в соответствии с выбором пользователя.
Копирование и вставка следующего кода в файл с именем showknobvalue.m на пути MATLAB. Этот код создает окно, содержащее непрерывную ручку и поле метки. Он определяет ValueChangedFcn обратный вызов для обновления метки при повороте ручки.
function showKnobValue % Create figure window and components fig = uifigure('Position',[100 100 283 275]); % Create label lbl = uilabel(fig,... 'Position',[218 177 50 15],... 'Text','0'); % Create knob kb = uiknob(fig,... 'Position',[89 142 60 60],... 'ValueChangedFcn', @(kb,event) knobTurned(kb,lbl)); end % Create ValueChangedFcn callback function knobTurned(kb,lbl) num = kb.Value; lbl.Text = num2str(num); end
Управляемый showKnobValue и поверните ручку. При отпускании кнопки мыши метка обновляется для отражения нового значения ручки.

Создайте непрерывную ручку, которая многократно выполняет действие, когда пользователь поворачивает ее. Вместо обновления метки один раз, когда пользователь отпускает кнопку мыши, эта ручка обновляет метку при повороте ручки.
Копирование и вставка следующего кода в файл с именем showchangingvalue.m на пути MATLAB. Этот код создает окно, содержащее непрерывную ручку и поле метки. Он определяет ValueChangingFcn обратный вызов для обновления метки при повороте ручки.
function showChangingValue % Create figure window fig = uifigure('Position',[100 100 283 275]); % Create numeric edit field num = uieditfield(fig,'numeric',... 'Position',[69 82 100 20]); % Create knob kb = uiknob(fig,... 'Position',[89 142 60 60],... 'ValueChangingFcn',@(kb,event) knobTurned(kb,event,num)); end % Create ValueChangingFcn callback function knobTurned(kb,event,num) num.Value = event.Value; end
Управляемый showChangingValueи поверните ручку. При этом поле числового редактирования обновляется для отображения изменяющихся значений ручки.

Создайте непрерывную ручку, которая выполняет действие после ее поворота пользователем. каждый поворот ручки заставляет MATLAB выполнять вычисление с использованием текущих и предыдущих значений ручки.
Копирование и вставка следующего кода в файл с именем increaseOnly.m на пути MATLAB. Этот код создает окно, содержащее непрерывную ручку. Он определяет ValueChangedFcn обратный вызов ручки для отображения диалогового окна «Недопустимое значение» при попытке пользователя приложения уменьшить значение ручки.
function increaseOnly % Create figure window fig = uifigure('Position',[100 100 400 275]); % Create knob kb = uiknob(fig,... 'Position',[150 125 60 60],... 'ValueChangedFcn',@(kb,event) nValChanged(kb,event,fig)); end % Create ValueChangedFcn callback function nValChanged(kb,event,fig) newvalue = event.Value; previousvalue = event.PreviousValue; if previousvalue > newvalue uialert(fig, 'Increase value only. Value set to previous value.',... 'Invalid Value'); kb.Value = previousvalue; end end
Управляемый increaseOnlyувеличьте значение ручки, а затем попробуйте уменьшить его. При попытке уменьшить значение отображается диалоговое окно ошибки, и значение возвращается к предыдущему допустимому значению. Можно только увеличить значение ручки.
