Управляйте дискретным внешним видом и поведением кнопки
Дискретная кнопка является компонентом пользовательского интерфейса для того, чтобы выбрать опцию от дискретного набора. Путем изменения значений свойств можно изменить внешний вид и поведение дискретной кнопки. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
fig = uifigure; k = uiknob(fig,'discrete'); k.Items = {'Freezing','Cold','Warm','Hot'};
Value
ЗначениеItems
| элемент ItemsData
Значение в виде элемента Items
или ItemsData
массивы. По умолчанию, Value
первый элемент в Items
.
Определение Value
как элемент Items
устанавливает селектор кнопки на соответствующую метку на кнопке. Если ItemsData
не пусто, затем Value
должен быть установлен в элемент ItemsData
, и селектор кнопки укажет на связанную метку.
Items
— Опции кнопки{'Off','Low','Medium','High'}
(значение по умолчанию) | массив ячеек из символьных векторов | массив строк |...Опции кнопки в виде массива ячеек из символьных векторов, массива строк или 1D категориального массива. Массив должен содержать по крайней мере два элемента. Отображения кнопки столько же опций сколько существуют элементы в Items
массив. Опции отображаются в по часовой стрелке порядке. Если вы задаете это свойство как категориальный массив, MATLAB® использует значения в массиве, не полный набор категорий.
Пример: {'Off','Slow','Fast'}
Пример: {'1','2','3','4'}
ItemsData
— Данные сопоставлены с каждым элементом Items
[]
(значение по умолчанию) | числовой массив 1 на n | массив ячеек 1 на nДанные сопоставлены с каждым элементом Items
значение свойства в виде числового массива 1 на n или массива ячеек 1 на n. Это допустимо, чтобы задать дублирующиеся элементы массива в ItemsData
значение.
Когда количество элементов массива в ItemsData
и Items
не соответствуйте:
Если ItemsData
значение пусто, затем весь Items
элементы представлены пользователю приложения.
Если ItemsData
значение имеет больше элементов, чем Items
значение, затем весь Items
элементы представлены пользователю приложения, и MATLAB игнорирует дополнительный ItemsData
элементы.
Если ItemsData
значение имеет меньше элементов, чем Items
значение (но больше, чем ни один), затем единственный Items
элементы, представленные пользователю приложения, являются теми, которые имеют соответствующий ItemsData
значение.
Пример: {'One' 'Two' 'Three'}
Пример: {10 20 30 40}
FontName
FontName Название шрифта в виде системы поддержало название шрифта. Шрифт по умолчанию зависит от конкретной операционной системы и локали.
Если указанный шрифт недоступен, MATLAB использует тот, который больше всего похож на него из всех шрифтов, доступных в той системе, в которой работает приложение.
Пример: 'Arial'
FontSize
'FontSize' Размер шрифта, заданный в виде положительного числа. Единицами измерения являются пиксели. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.
Пример: 14
FontWeight
FontWeight 'normal'
(значение по умолчанию) | 'bold'
Толщина шрифта в виде одного из этих значений:
'normal'
— Вес по умолчанию, как задано конкретным шрифтом
'bold'
— Более толстые символьные основы, чем 'normal'
Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта привести к установке обычного шрифта.
FontAngle
FontAngle 'normal'
(значение по умолчанию) | 'italic'
Угол шрифта в виде 'normal'
или 'italic'
. Установка этого свойства к italic
выбирает наклонную версию шрифта, если это доступно в системе пользователя приложения.
FontColor
FontColor
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет шрифта в виде триплета 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' |
Visible
— Состояние видимости'on'
(значение по умолчанию) | логическое значение включения - выключенияСостояние видимости в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Отобразите объект.
'off'
— Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы заставить ваше приложение запуститься быстрее, установите Visible
свойство к 'off'
для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
Enable
— Рабочее состояние'on'
(значение по умолчанию) | логическое значение включения - выключенияРабочее состояние в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, пользователь приложения может взаимодействовать с компонентом.
Если вы устанавливаете это свойство на 'off'
, компонент появляется, потускнел, указав, что пользователь приложения не может взаимодействовать с ним, и что он не инициирует коллбэк.
Tooltip
— Подсказка''
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 1D категориальный массивПодсказка в виде вектора символов, массива ячеек из символьных векторов, массива строк или 1D категориального массива. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линий текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной линией текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
ContextMenu
— Контекстное менюGraphicsPlaceholder
массив (значение по умолчанию) | ContextMenu
объектКонтекстное меню в виде ContextMenu
объект создал использование uicontextmenu
функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по компоненту.
Position
— Местоположение и размер кнопки
(значение по умолчанию) | [left bottom width height]
Местоположение и размер кнопки, исключая метки состояния и метки в виде вектора, [left bottom width height]
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю кнопки |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю кнопки |
width | Расстояние между правыми и левыми внешними краями кнопки, исключая отметки деления и метки |
height | Расстояние между верхними и нижними внешними краями кнопки, исключая отметки деления и метки |
Все измерения указаны в пикселях. Из-за ограничений соотношения сторон, вы не можете изменить высоту кнопки и ширину друг независимо от друга. Чтобы увеличить размер кнопки, установите ширину и высоту с помощью Position(3:4) = [width height]
.
Position
значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 200 60 60]
InnerPosition
— Внутреннее расположение и размер кнопки
(значение по умолчанию) | [left bottom width height]
Внутреннее расположение и размер кнопки, исключая метки состояния и состояние помечают в виде вектора, [left bottom width height]
Позиционные переменные относятся к родительскому контейнеру. Все измерения указаны в пикселях. Это значение свойства идентично Position
для компонентов кнопки.
OuterPosition
— Внешнее расположение и размер кнопки
(значение по умолчанию) | [left bottom width height]
Это свойство доступно только для чтения.
Внешнее расположение и размер кнопки, включая метки состояния и метки, возвратились как вектор, [left bottom width height]
Позиционные переменные относятся к родительскому контейнеру. Все измерения указаны в пикселях.
Layout
— Параметры макетаLayoutOptions
массив (значение по умолчанию) | GridLayoutOptions
объектПараметры макета в виде GridLayoutOptions
объект. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки Row
и Column
свойства на GridLayoutOptions
объект.
Например, этот код помещает дискретную кнопку в третью строку и второй столбец ее родительской сетки.
g = uigridlayout([4 3]);
k = uiknob(g,'discrete');
k.Layout.Row = 3;
k.Layout.Column = 2;
Чтобы заставить кнопку охватить несколько строк или столбцов, задайте Row
или Column
свойство как двухэлементный вектор. Например, эта кнопка охватывает столбцы 2
через 3
:
k.Layout.Column = [2 3];
ValueChangedFcn
— Значение изменило коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь поворачивает селектор кнопки в приложении. Коллбэк не выполняется если Value
свойство изменяется программно.
Этот коллбэк может получить доступ к определенной информации о взаимодействии пользователя с кнопкой. MATLAB передает эту информацию в ValueChangedData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue
возвращает предыдущее значение кнопки. ValueChangedData
объект не доступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Значение кнопки после нового взаимодействия пользователя приложения с ним. |
PreviousValue | Значение кнопки перед новым взаимодействием пользователя приложения с ним. |
Source | Компонент, который выполняет обратный вызов. |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
CreateFcn
— Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объекта в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств прежде, чем выполнить CreateFcn
'callback'. Если вы не задаете CreateFcn
свойство, затем MATLAB выполняет функцию создания по умолчанию.
Установка CreateFcn
свойство на существующем компоненте не оказывает влияния.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функционируйте, чтобы получить доступ к объекту.
DeleteFcn
— Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn
коллбэк прежде, чем уничтожить свойства объекта. Если вы не задаете DeleteFcn
свойство, затем MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функционируйте, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | логическое значение включения - выключенияПрерывание коллбэка в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Это свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание.
Значение 'on'
позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
фигура
Фигура пользовательского интерфейса
getframe
waitfor
, или pause
команда.
Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.
Значение 'off'
блоки все попытки прерывания. BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерыванием обратного вызова является DeleteFcn
CloseRequestFcn
или SizeChangedFcn
коллбэк, затем прерывание происходит независимо от Interruptible
значение свойства.
Если рабочий коллбэк является выполняющимся в данным моментом waitfor
функция, затем прерывание происходит независимо от Interruptible
значение свойства.
Timer
объекты выполняются согласно расписанию независимо от Interruptible
значение свойства.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный gca
или gcf
команда может измениться, когда другой коллбэк выполняется.
BusyAction
— Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка в виде 'queue'
или 'cancel'
. BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения BusyAction
свойство:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
'cancel'
— Не выполняет прерывание обратного вызова.
BeingDeleted
— Состояние DeletionЭто свойство доступно только для чтения.
Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
MATLAB устанавливает BeingDeleted
свойство к 'on'
когда DeleteFcn
коллбэк начинает выполнение. BeingDeleted
свойство остается установленным в 'on'
пока объект компонента больше не существует.
Проверяйте значение BeingDeleted
свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.
Parent
— Родительский контейнерFigure
объект (значение по умолчанию) | Panel
возразите | Tab
возразите | ButtonGroup
возразите | GridLayout
объектРодительский контейнер в виде Figure
объект создал использование uifigure
функция или один из ее дочерних контейнеров: Tab
Панель
Группа кнопок
, или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает uifigure
функция, чтобы создать новый Figure
объект, который служит родительским контейнером.
HandleVisibility
— Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект в виде 'on'
'callback'
, или 'off'
.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают get
findobj
clf
, и close
Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда виден. |
'callback' | Объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть объект во время выполнения этой функции. |
Type
— Тип графического объекта'uidiscreteknob'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uidiscreteknob'
.
Tag
— Идентификатор объекта''
(значение по умолчанию) | вектор символов | строковый скалярИдентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag
значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj
функционируйте, чтобы искать основанное на объектах на Tag
значение.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные в виде любого массива MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData
свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.