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