Управляйте внешним видом и поведением инструмента нажатия
Инструменты нажатия являются кнопками, которые появляются на панели инструментов наверху фигуры. uipushtool
функция создает кнопку на панели инструментов и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
pt = uipushtool; pt.Separator = 'on';
Icon
— Источник значка или файл''
(значение по умолчанию) | вектор символов | строковый скаляр | m
- n
- 3 матрицы изображений истинного цветаИсточник значка или файл в виде вектора символов, строкового скаляра или m
- n
- 3 матрицы изображений истинного цвета. Если вы задаете вектор символов или строковый скаляр, это может быть имя файла образа на пути MATLAB® или полном пути к файлу изображения. Если вы планируете совместно использовать свое приложение с другими, поместите файл изображения на путь MATLAB, чтобы упростить упаковку приложения. Поддерживаемые форматы изображения включают JPEG, PNG, GIF и SVG.
Если вы задаете m
- n
- 3 массива, это интерпретировано как матрица изображений истинного цвета. Для получения дополнительной информации о матрицах изображений истинного цвета, смотрите Типы изображения.
Если изображение, которое вы задаете, больше, чем 16 16 пиксели, то Icon
свойство уменьшает масштаб изображения так, чтобы целое изображение соответствовало в инструменте. Если изображение, которое вы задаете, меньше, чем 16 16 пиксели, оно не увеличено, чтобы соответствовать свободному месту.
Icon
свойство поддерживается только в App Designer и uifigure
- основанные приложения. Если Icon
и CData
свойства оба установлены, затем CData
свойство проигнорировано.
Пример: 'icon.png'
задает файл изображения на пути MATLAB.
Пример: 'C:\Documents\icon.png'
задает полный путь к файлу изображения.
CData
— Матрица изображений[]
(значение по умолчанию) | m
- n
- 3 матрицы изображений истинного цветаМатрица изображений в виде m
- n
- 3 матрицы изображений истинного цвета. Значения в массиве могут быть:
Значения с двойной точностью между 0.0
и 1.0
uint8
значения между 0
и 255
Чтобы препятствовать тому, чтобы изображение казалось отсеченным или искаженным, задайте массив с m
и n
меньше чем или равный 16. Если изображение отсекается, то только центр 16 16 часть массива используется.
Примечание
Для App Designer и uifigure
- основанные приложения, используйте Icon
свойство задать нажатие и значки инструмента переключателя вместо этого.
Separator
— Режим линии диафрагмы'off'
(значение по умолчанию) | логическое значение включения - выключенияРежим линии диафрагмы в виде 'off'
или 'on'
, или как числовой или логический 0
ложь
) или 1
TRUE
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Установка этого свойства к 'on'
чертит разделительную линию слева от инструмента на панели инструментов.
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
— ПодсказкаПодсказка в виде вектора символов, строкового скаляра или категориального массива. Используйте это свойство отобразить сообщение, когда вы наведете на компонент в запущенном приложении. Подсказка не появляется, когда компонент отключен. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
В цифрах созданный с uifigure
функция, продвиньте инструменты, и инструменты переключателя поддерживают многострочные подсказки. Чтобы создать многострочную подсказку, используйте sprintf
функционируйте, чтобы вставить символы новой строки ('\n'
) в вашем тексте. Например:
txt = sprintf('Line 1\nLine 2');
Затем установите Tooltip
свойство к значению, возвращенному sprintf
.
В цифрах созданный с figure
функция, продвиньте инструменты, и инструменты переключателя не поддерживают многострочные подсказки.
ContextMenu
— Контекстное менюGraphicsPlaceholder
массив (значение по умолчанию) | ContextMenu
объектУстановка этого свойства не оказывает влияния на объекты этого типа.
TooltipString
— Подсказка (не рекомендуемый)Подсказка в виде вектора символов, строкового скаляра или категориального массива. Подсказка появляется, когда вы наводите на компонент в приложении. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
Примечание
TooltipString
свойство не рекомендуется, начиная в R2018b. Используйте Tooltip
свойство вместо этого.
ClickedCallback
— Инструмент кликнул по коллбэку''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовИнструмент кликнул по коллбэку в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении функций обратного вызова как указатели на функцию, массивы ячеек или векторы символов, видят, Как Задать Значения свойств Коллбэка.
CreateFcn
— Функция создания компонента''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания компонентов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить CreateFcn
'callback'. Если вы не задаете CreateFcn
свойство, затем MATLAB выполняет функцию создания по умолчанию.
Используйте gcbo
функционируйте в своем CreateFcn
код, чтобы получить объект компонента, который создается.
Установка CreateFcn
свойство на существующем объекте компонента не оказывает влияния.
DeleteFcn
— Функция удаления компонента''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления компонента, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
DeleteFcn
свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет компонент (например, когда пользователь закрывает окно). MATLAB выполняет DeleteFcn
коллбэк прежде, чем уничтожить свойства объекта компонента. Если вы не задаете DeleteFcn
свойство, затем MATLAB выполняет функцию удаления по умолчанию.
Используйте gcbo
функционируйте в своем DeleteFcn
код, чтобы получить объект компонента, который удаляется.
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | логические значения включения - выключенияПрерывание коллбэка в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Interruptible
свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание:
Значение 'on'
позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует a drawnow
, figure
, getframe
, waitfor
, или pause
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off'
блоки все попытки прерывания. BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.
Примечание
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерыванием обратного вызова является DeleteFcn
CloseRequestFcn
, или SizeChangedFcn
коллбэк, затем прерывание происходит независимо от Interruptible
значение свойства.
Если рабочий коллбэк является выполняющимся в данным моментом waitfor
функция, затем прерывание происходит независимо от Interruptible
значение свойства.
Timer
объекты выполняются согласно расписанию независимо от Interruptible
значение свойства.
MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный gca
или gcf
команда может измениться, когда другой коллбэк выполняется.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как Interruptible
и BusyAction
свойства влияют на поведение программы.
BusyAction
— Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка, заданная как 'queue'
(значение по умолчанию) или 'cancel'
. BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
BusyAction
свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. BusyAction
свойство имеет эти значения:
'queue'
— Поместите прерывание обратного вызова в очередь, чтобы быть обработанными после рабочего выполнения концов коллбэка.
'cancel'
— Не выполняйте прерывание обратного вызова.
Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Interruptible
свойство объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible
установлен в:
on
— Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Это значение по умолчанию.
off
— BusyAction
свойство (объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как BusyAction
и Interruptible
свойства влияют на поведение программы.
BeingDeleted
— Состояние DeletionЭто свойство доступно только для чтения.
Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
MATLAB устанавливает BeingDeleted
свойство к 'on'
когда DeleteFcn
коллбэк начинает выполнение. BeingDeleted
свойство остается установленным в 'on'
пока объект компонента больше не существует.
Проверяйте значение BeingDeleted
свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.
HitTest
— Способность стать текущим объектом (не рекомендуемый)'on'
(значение по умолчанию) | логическое значение включения - выключенияЭто свойство не оказывает влияния на объекты этого типа.
Parent
— Родительский объектToolbar
объектРодительский объект в виде Toolbar
объект. Используйте это свойство задать родительскую панель инструментов при создании инструмента или переместить существующий инструмент в различную панель инструментов.
HandleVisibility
— Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект в виде 'on'
'callback'
, или 'off'
.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
, и close
. HandleVisibility
свойство также управляет видимостью указателя объекта в CurrentObject
родительского фигуры свойство. Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Указатель на объект всегда отображается. |
'callback' | Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Указатель на объект невидим в любом случае. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции. |
Type
— Тип графического объекта'uipushtool'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uipushtool'
.
Tag
— Идентификатор объекта''
(значение по умолчанию) | вектор символов | строковый скалярИдентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag
значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj
функционируйте, чтобы искать основанное на объектах на Tag
значение.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные в виде любого массива. Определение UserData
может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.