Knob Properties

Внешний вид и поведение ручки управления

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

uf = uifigure;
k = uiknob(uf);
k.Value = 45;

Кнопка

развернуть все

Значение кнопки, заданной как числовое. Числовое должно быть в диапазоне, указанном для Limits.

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

Если вы изменяете Limits таким образом, что Value свойство меньше нового нижнего предела, затем Value свойство обновляется к новому нижнему пределу. Точно так же, если вы изменяете Limits таким образом, что Value больше нового верхнего предела, затем Value свойство обновляется к новому верхнему пределу.

Например, предположите Limits [0 100] и Value свойством является 20. Если Limits свойство превращается в [50 100], затем Value обновления 50.

Метки деления

развернуть все

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

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

MATLAB® удаляет дублирующиеся значения деления. Однако, если главная метка деления падает на то же значение как незначительная метка деления, только главные отображения метки деления.

Установка MajorTicks наборы свойств MajorTicksMode свойство к 'manual'.

Главный режим создания метки деления, заданный как одно из следующего:

  • 'auto' — MATLAB определяет размещение главных меток деления.

  • 'manual' — Вы задаете MajorTicks массив значения.

Главные метки в виде галочки, заданные как массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Если вы не хотите показывать метки в виде галочки, задайте это свойство как массив пустой ячейки. Если вы хотите удалить метку из определенной отметки деления, задайте пустой символьный вектор или скаляр пустой строки для соответствующего элемента в MajorTickLabels свойство. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Если длина MajorTickLabels массив отличается от длины MajorTicks вектор, MATLAB игнорирует дополнительные записи более длительного массива. Если существуют дополнительные метки, они проигнорированы. Если существуют дополнительные отметки деления, они отображаются без меток.

Установка MajorTickLabels изменяет MajorTickLabelsMode значение к 'manual'.

Главный режим меток в виде галочки, заданный как одно из следующего:

  • 'auto' — MATLAB задает главные метки в виде галочки.

  • 'manual' — Вы задаете главные метки в виде галочки с помощью MajorTickLabels свойство.

Незначительные местоположения отметки деления, заданные как вектор числовых значений или пустого вектора. Если вы не хотите показывать незначительные отметки деления, задайте это свойство как пустой вектор.

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

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

Установка MinorTicks значение свойства устанавливает MinorTicksMode значение свойства к 'manual'.

Незначительный режим создания метки деления, заданный как одно из следующего:

  • 'auto' — MATLAB определяет размещение незначительных меток деления. MATLAB не генерирует незначительные метки деления для главных меток деления, которые являются вне пределов шкалы. Если Limits изменения значения свойства, затем MATLAB обновляет незначительные метки деления, чтобы заполнить область значений полного масштаба (MinorTicks свойство обновляется соответственно).

  • 'manual' — Вы задаете MinorTicks числовой массив свойства. MinorTicks значение свойства не изменяет размер или содержимое самостоятельно.

Шрифт

развернуть все

Название шрифта, заданное как система, поддержало название шрифта. Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Если указанный шрифт недоступен, MATLAB использует тот, который больше всего похож на него из всех шрифтов, доступных в той системе, в которой работает приложение.

Пример: 'Arial'

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

Пример: 14

Толщина шрифта, заданная как одно из этих значений:

  • 'normal' — Вес по умолчанию, как задано конкретным шрифтом

  • 'bold' — Более толстые символьные основы, чем 'normal'

Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта привести к установке обычного шрифта.

Угол шрифта, заданный как 'normal' или 'italic'. Установка этого свойства к italic выбирает наклонную версию шрифта, если это доступно в системе пользователя приложения.

Цвет шрифта, заданный как триплет RGB, шестнадцатеричный цветовой код или одна из перечисленных в таблице опций.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Интерактивность

развернуть все

Видимость кнопки, заданной как 'on' или 'off'. Visible свойство определяет, отображена ли кнопка на экране. Если Visible свойство установлено в 'off', целая кнопка скрыта, но можно все еще задать и получить доступ к ее свойствам.

Чтобы заставить ваше приложение запуститься быстрее, установите Visible свойство всех компонентов, которые не должны появляться при запуске к 'off'.

Рабочее состояние кнопки, заданной как 'on' или 'off'.

  • Если вы устанавливаете это свойство на 'on', затем пользователь приложения может повернуть кнопку.

  • Если вы устанавливаете это свойство на 'off', затем внешний вид кнопки появляется, потускнел, указав, что пользователь приложения не может повернуть кнопку, и это не инициирует коллбэк.

Подсказка, заданная как вектор символов, массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линий текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной линией текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Положение

развернуть все

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

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

Все измерения указаны в пикселях. Из-за ограничений соотношения сторон, вы не можете изменить высоту кнопки и ширину друг независимо от друга. Чтобы увеличить размер кнопки, установите ширину и высоту с помощью Position(3:4) = [width height].

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

Пример: [100 200 60 60

Внутреннее расположение и размер кнопки, исключая отметки деления и метки в виде галочки, заданные как вектор, [left bottom width height]Позиционные переменные относятся к родительскому контейнеру. Все измерения указаны в пикселях. Это значение свойства идентично Position свойство.

Это свойство доступно только для чтения.

Внешнее расположение и размер кнопки, включая отметки деления и метки в виде галочки, заданные как вектор, [left bottom width height]Позиционные переменные относятся к родительскому контейнеру. Все измерения указаны в пикселях.

Параметры макета, заданные как GridLayoutOptions объект. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки Row и Column свойства на GridLayoutOptions объект.

Например, этот код помещает кнопку в третью строку и второй столбец ее родительской сетки.

g = uigridlayout([4 3]);
k = uiknob(g);
k.Layout.Row = 3;
k.Layout.Column = 2;

Чтобы заставить кнопку охватить несколько строк или столбцов, задайте Row или Column свойство как двухэлементный вектор. Например, эта кнопка охватывает столбцы 2 через 3:

k.Layout.Column = [2 3];

Коллбэки

развернуть все

Значение изменило коллбэк, заданный как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк выполняется, когда пользователь изменяет селектор кнопки, чтобы указать на различное значение.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с кнопкой. MATLAB передает эту информацию в ValueChangedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue возвращает предыдущее значение кнопки. ValueChangedData объект не доступен для функций обратного вызова, заданных как векторы символов.

В следующей таблице перечислены свойства ValueChangedData объект.

СвойствоЗначение
ValueЗначение кнопки после нового взаимодействия пользователя приложения с ним.
PreviousValueЗначение кнопки перед новым взаимодействием пользователя приложения с ним.
SourceКомпонент, который выполняет обратный вызов.
EventName'ValueChanged'

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Коллбэк изменения значения, заданный как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с кнопкой. MATLAB передает эту информацию в ValueChangingData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.Value возвращает текущее значение кнопки. ValueChangingData объект не доступен для функций обратного вызова, заданных как векторы символов.

В следующей таблице перечислены свойства ValueChangingData объект.

СвойствоЗначение
ValueТекущее значение кнопки как пользователь приложения взаимодействует с ним.
SourceКомпонент, который выполняет обратный вызов.
EventName'ValueChanging'

Value свойство Knob объект не обновляется, пока пользователь приложения не выпускает кнопку. Поэтому, чтобы получить значения кнопки, когда кнопка превращается, ваш код должен получить Value свойство ValueChangingData объект.

Коллбэк выполняется можно следующим образом:

  • Если пользователь приложения кликает по значению кнопки, коллбэк выполняется однажды. Например, если кнопка находится на 1,0, и нажатия кнопки пользователя приложения 1.1, коллбэк выполняется.

  • Если пользователь приложения перетаскивает кнопку к новой позиции, коллбэк неоднократно выполняется. Например, если значение кнопки 1.0, и нажатия кнопки пользователя приложения, содержит и перетаскивает, чтобы оценить 10.0, коллбэк выполняется многократно, пока пользователь приложения не выпускает кнопку.

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Функция создания объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство на существующем компоненте не оказывает влияния.

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

Функция удаления объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

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

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

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка, заданное как 'on' или 'off'. Interruptible свойство определяет, может ли рабочий коллбэк быть прерван.

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

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

  • 'on' — Позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураФигура пользовательского интерфейсаgetframewaitfor, или pause команда.

    • Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

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

  • 'off' — Блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются согласно расписанию независимо от Interruptible значение свойства.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Постановка в очередь коллбэка, заданная как 'queue' или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения BusyAction свойство:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняет прерывание обратного вызова.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как 'off' или 'on'. MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

Проверяйте значение BeingDeleted свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Родительский элемент/Дочерний элемент

развернуть все

Родительский контейнер, заданный как Figure объект создал использование uifigure функция или один из ее дочерних контейнеров: TabПанельГруппа кнопок, или GridLayout. Если никакой контейнер не задан, MATLAB вызывает uifigure функция, чтобы создать новый Figure объект, который служит родительским контейнером.

Видимость указателя на объект, заданного как 'on''callback', или 'off'.

Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают getfindobjclf, и closeОбъекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.

Значение HandleVisibilityОписание
'on'Объект всегда виден.
'callback'Объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.
'off'Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть объект во время выполнения этой функции.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'uiknob'.

Идентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Смотрите также

Функции

Введенный в R2016a