Управление внешним видом и поведением панели инструментов
Панель инструментов - это контейнер для горизонтального списка кнопок в верхней части окна фигуры. uitoolbar создает панель инструментов на рисунке и задает все необходимые свойства перед его отображением. Изменяя значения свойств, можно изменять внешний вид и поведение панели инструментов. Используйте точечную нотацию для ссылки на определенный объект и свойство.
tb = uitoolbar; tb.Visible = 'off';
Visible - Состояние видимости'on' (по умолчанию) | логическое значение on/offСостояние видимости, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
'on' - Просмотр объекта.
'off' - Скрыть объект, не удаляя его. По-прежнему можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы приложение начиналось быстрее, установите Visible свойство для 'off' для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
ContextMenu - Контекстное менюGraphicsPlaceholder массив (по умолчанию) | ContextMenu объектУстановка этого свойства не влияет на объекты этого типа.
CreateFcn - Функция создания компонента'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторФункция создания компонента, заданная как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB ® (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
Это свойство определяет функцию обратного вызова, выполняемую при создании компонента MATLAB. MATLAB инициализирует все значения свойств компонентов перед выполнением CreateFcn обратный вызов. Если не указать CreateFcn , то MATLAB выполняет функцию создания по умолчанию.
Используйте gcbo функция в вашей CreateFcn для получения создаваемого объекта компонента.
Установка CreateFcn свойство для существующего объекта-компонента не влияет.
DeleteFcn - Функция удаления компонента'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторФункция удаления компонента, заданная как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
DeleteFcn свойство определяет функцию обратного вызова, выполняемую при удалении компонента MATLAB (например, при закрытии окна пользователем). MATLAB выполняет команду DeleteFcn обратный вызов перед уничтожением свойств объекта компонента. Если не указать DeleteFcn , то MATLAB выполняет функцию удаления по умолчанию.
Используйте gcbo функция в вашей DeleteFcn для получения удаляемого объекта компонента.
Interruptible - Прерывание обратного вызова'on' (по умолчанию) | on/off логические значенияПрерывание обратного вызова, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Interruptible определяет, можно ли прервать выполняющийся обратный вызов. Существует два состояния обратного вызова:
Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.
Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.
Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов (если он существует). Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание:
Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, при наличии 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 - Статус удаленияЭто свойство доступно только для чтения.
Состояние удаления, возвращаемое как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState.
MATLAB устанавливает BeingDeleted свойство для 'on' когда DeleteFcn обратный вызов начинает выполнение. BeingDeleted свойство остается установленным в значение 'on' до тех пор, пока объект-компонент больше не будет существовать.
Проверьте значение BeingDeleted для проверки того, что объект не будет удален перед запросом или изменением.
HitTest - Возможность стать текущим объектом (не рекомендуется)'on' (по умолчанию) | логическое значение on/offЭто свойство не влияет на объекты этого типа.
Parent - Родительский объектFigure объектРодительский объект, указанный как Figure объект, созданный с помощью uifigure или figure функция. Если родительская цифра не указана, MATLAB вызывает figure для создания родительской функции.
Вы можете переместить Toolbar объект для другой фигуры путем установки для этого свойства целевого объекта Figure объект.
Children — Toolbar детиGraphicsPlaceholder массив (по умолчанию) | 1-D массив объектов компонентовToolbar children, возвращено как пустое GraphicsPlaceholder или 1-D массив компонентных объектов. Дети Toolbar объекты являются PushTool и ToggleTool объекты.
Невозможно добавить или удалить дочерние элементы с помощью Children собственность. Это свойство используется для просмотра списка нижестоящих элементов или изменения порядка их расположения. Порядок нижестоящих элементов в этом массиве отражает порядок инструментов, отображаемых на панели инструментов справа налево. Это означает, что самый правый инструмент находится в верхней части списка, а самый левый - в нижней части списка. Например, этот порядок инструментов, возвращенный Children свойство указывает, что инструмент нажатия отображается слева от инструмента переключения на панели инструментов.
toolOrder = tb.Children
toolOrder = 2×1 graphics array: ToggleTool PushTool
Чтобы добавить дочерний элемент в этот список, установите Parent свойства дочернего компонента для Toolbar объект.
Объекты с HandleVisibility свойство имеет значение 'off' не перечислены в Children собственность.
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 - Тип графического объекта'uitoolbar'Это свойство доступно только для чтения.
Тип графического объекта, возвращаемого как 'uitoolbar'.
Tag - Идентификатор объекта'' (по умолчанию) | символьный вектор | строковый скалярИдентификатор объекта, заданный как вектор символа или скаляр строки. Можно указать уникальный Tag для использования в качестве идентификатора объекта. При необходимости доступа к объекту в другом месте кода можно использовать findobj для поиска объекта на основе Tag значение.
UserData - Данные пользователя[] (по умолчанию) | массивПользовательские данные, указанные как любой массив. Определение UserData может быть полезен для совместного использования данных в приложениях. Дополнительные сведения см. в разделе Совместное использование данных среди обратных вызовов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.