Управляйте HTML внешний вид и поведение компонента пользовательского интерфейса
HTML компоненты пользовательского интерфейса позволяет вам отображать необработанный текст HTML или встраивать HTML, JavaScript®, или CSS в ваше приложение и взаимодействовать через интерфейс со сторонними библиотеками JavaScript. HTML
свойства управляют внешним видом и поведением HTML компонент пользовательского интерфейса. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
fig = uifigure;
h = uihtml(fig);
h.Position = [100 100 150 100];
h.HTMLSource = '<p style="font-family:sans-serif">This is <mark>marked</mark> text.</p>';
HTMLSource
— Разметка HTML или файл''
(значение по умолчанию) | вектор символов | строковый скалярРазметка HTML или файл в виде вектора символов или строкового скаляра, который содержит или разметку HTML или путь к файлу HTML. Вся разметка HTML и файлы должны быть хорошо сформированы. Если заданный вектор символов или строковый скаляр заканчиваются .html
, затем это принято, чтобы быть путем к файлу HTML.
При встраивании разметки HTML вы не должны задавать <html>
или <body>
теги. Если разметка, которую вы задаете, поддерживается в браузере Хрома, используемом MATLAB® фигуры создали с uifigure
функция, затем это представит. Если вы нуждаетесь в большем количестве структуры к своему коду, то рассматриваете использование файла HTML вместо этого.
Если вы устанавливаете HTMLSource
свойство к пути к файлу HTML, файл HTML должен быть расположен в месте, к которому может получить доступ ваша локальная файловая система. Если вы используете вспомогательные файлы, такие как JavaScript, CSS, библиотеки или изображения, то помещенный файлы в местоположение, к которому может получить доступ ваша локальная файловая система, ссылаются на них в файле HTML и устанавливают HTMLSource
свойство к пути к файлу HTML. Вспомогательные файлы не могут быть в относительной директории, смежной с или выше файла HTML.
Пример: h = uihtml('HTMLSource','CustomCharts.html')
задает файл HTML.
Пример: h = uihtml('HTMLSource','<p>This is <span style="color:red">red</span> text.</p>')
задает разметку.
Data
matlab::dataДанные MATLAB в виде любого типа данных MATLAB. Используйте этот аргумент когда значение HTMLSource
путь к файлу HTML, задающему объект JavaScript. Затем эти данные могут синхронизироваться между HTML MATLAB компонент пользовательского интерфейса и объектом JavaScript.
Синхронизировать значение Data
свойство между MATLAB и сторонним содержимым, которое вы встраиваете в свое приложение, создайте setup
функция в файле HTML, который соединяет объект JavaScript под названием htmlComponent
в HTML компонент пользовательского интерфейса в MATLAB. Затем установите HTMLSource
значение свойства к пути к файлу.
Изменения в значении Data
триггерные события коллбэка свойства только в одном направлении. А именно,
Когда Data
свойство установлено в MATLAB, Data
свойство htmlComponent
Объект JavaScript также обновляет и инициировал прослушиватели события JavaScript 'DataChanged'
событие.
Когда htmlComponent.Data
установлен в JavaScript, Data
свойство HTML компонент пользовательского интерфейса в MATLAB также обновляет и инициировало DataChangedFcn
'callback'.
Если у вас есть данные как вложенные массивы ячеек, массивы структур или данные массива таблицы MATLAB, вам может быть нужно больше информации о том, как данные преобразованы между MATLAB и JavaScript. Когда Data
свойство HTML, компонент пользовательского интерфейса установлен в MATLAB, данные, преобразовано с помощью jsonencode
функция, синхронизируемая с JavaScript, проанализировала использование JSON.parse (), и наконец установила на Data
свойство htmlComponent
Объект JavaScript. Преобразования происходят в противоположном направлении также посредством JSON.stringify () и jsondecode
функция. Data
свойство является единственным свойством, которое синхронизируется с JavaScript.
Обратитесь к jsonencode
функционируйте для получения дополнительной информации о типах данных, которые это поддерживает. Если jsonencode
функция не поддерживает ваш тип данных, затем использует функцию преобразования типа данных, как num2str
, преобразовывать ваши данные в поддерживаемый тип. Затем установите его как значение Data
свойство.
Для получения дополнительной информации о том, как записать файл HTML, который включает синхронизацию данных и свойства htmlComponent
Объект JavaScript, смотрите, Создают Файл HTML, Который Может Инициировать или Ответить на Изменения Данных.
Visible
— Состояние видимости'on'
(значение по умолчанию) | логическое значение включения - выключенияСостояние видимости в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Отобразите объект.
'off'
— Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы заставить ваше приложение запуститься быстрее, установите Visible
свойство к 'off'
для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
Tooltip
— Подсказка''
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 1D категориальный массивПодсказка в виде вектора символов, массива ячеек из символьных векторов, массива строк или 1D категориального массива. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линий текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной линией текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
ContextMenu
— Контекстное менюGraphicsPlaceholder
массив (значение по умолчанию) | ContextMenu
объектКонтекстное меню в виде ContextMenu
объект создал использование uicontextmenu
функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по компоненту.
Примечание
Это свойство не оказывает влияния когда HTMLSource
свойство установлено.
Position
— Местоположение и размер HTML компонент пользовательского интерфейса
(значение по умолчанию) | [left bottom width height]
Местоположение и размер HTML компонент пользовательского интерфейса относительно родительского контейнера в виде четырехэлементного вектора из формы [left bottom width height]
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю HTML компонент пользовательского интерфейса |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю HTML компонент пользовательского интерфейса |
width | Расстояние между правыми и левыми внешними краями HTML компонент пользовательского интерфейса |
height | Расстояние между верхними и нижними внешними краями HTML компонент пользовательского интерфейса |
Position
значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Все измерения указаны в пикселях.
InnerPosition
— Внутреннее расположение и размер HTML компонент пользовательского интерфейса
(значение по умолчанию) | [left bottom width height]
Внутреннее расположение и размер HTML компонент пользовательского интерфейса в виде четырехэлементного вектора из формы [left bottom width height]
Все измерения указаны в пикселях. Это значение свойства идентично Position
свойство.
OuterPosition
— Внешнее расположение и размер HTML компонент пользовательского интерфейса
(значение по умолчанию) | [left bottom width height]
Это свойство доступно только для чтения.
Внешнее расположение и размер HTML компонент пользовательского интерфейса, возвращенный как четырехэлементный вектор из формы [left bottom width height]
Все измерения указаны в пикселях. Это значение свойства идентично Position
свойство.
Layout
— Параметры макетаLayoutOptions
массив (значение по умолчанию) | GridLayoutOptions
объектПараметры макета в виде GridLayoutOptions
объект. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки Row
и Column
свойства на GridLayoutOptions
объект.
Например, этот код помещает HTML компонент пользовательского интерфейса в третью строку и второй столбец ее родительской сетки.
g = uigridlayout([4 3]);
h = uihtml(g);
h.HTMLSource = '<body style="background-color:powderblue;"><p>Hello World!</p></body>';
h.Layout.Row = 3;
h.Layout.Column = 2;
Чтобы сделать HTML компонентом пользовательского интерфейса охватывают непрерывные строки или столбцы, задают Row
или Column
свойство как двухэлементный вектор. Например, этот HTML компонент пользовательского интерфейса охватывает столбцы 2
через 3
.
h.Layout.Column = [2 3];
DataChangedFcn
— Коллбэк, когда данные изменяются''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк, когда данные изменяются в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Когда значение Data
свойство изменяется в htmlComponent
Объект JavaScript, Data
свойство HTML MATLAB, компонент пользовательского интерфейса обновляется, и этот коллбэк, выполняется.
Эта функция обратного вызова может получить доступ к определенной информации об изменениях в данных в объекте JavaScript. MATLAB передает информацию в DataChangedData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
. Можно запросить DataChangedData
свойства объектов с помощью записи через точку. Например, event.PreviousData
возвращает предыдущее значение Data
прежде чем это обновилось или изменилось. DataChangedData
объект не доступен для функций обратного вызова, заданных как векторы символов.
Эта таблица приводит свойства DataChangedData
объект.
Свойство | Описание |
---|---|
Data | Новые данные, следующие из последнего DataChanged событие |
PreviousData | Данные перед последним DataChanged событие |
Source | Компонент пользовательского интерфейса HTML MATLAB, который выполняет коллбэк |
EventName | 'DataChanged' |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в 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 определяет поведение прерывания коллбэка каждый раз, когда это выполняет команду, которая обрабатывает очередь коллбэка. Эти команды включают drawnow
, figure
, uifigure
, getframe
, waitfor
, и pause
.
Если рабочий коллбэк не содержит одну из этих команд, то никакое прерывание не происходит. MATLAB сначала закончил выполнять рабочий коллбэк, и позже выполняет прерывание обратного вызова.
Если рабочий коллбэк действительно содержит одну из этих команд, то Interruptible
свойство объекта, который владеет рабочим коллбэком, определяет, происходит ли прерывание:
Если значение Interruptible
'off'
, затем никакое прерывание не происходит. Вместо этого BusyAction
свойство объекта, который владеет прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или добавляется к очереди коллбэка.
Если значение Interruptible
'on'
, затем прерывание происходит. В следующий раз, когда MATLAB обрабатывает очередь коллбэка, он останавливает выполнение рабочего коллбэка и выполняет прерывание обратного вызова. После того, как прерывание обратного вызова завершается, MATLAB затем продолжает выполнять рабочий коллбэк.
Примечание
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерыванием обратного вызова является DeleteFcn
CloseRequestFcn
, или SizeChangedFcn
коллбэк, затем прерывание происходит независимо от Interruptible
значение свойства.
Если рабочий коллбэк является выполняющимся в данным моментом waitfor
функция, затем прерывание происходит независимо от Interruptible
значение свойства.
Если прерывание обратного вызова принадлежит Timer
объект, затем коллбэк выполняется согласно расписанию независимо от Interruptible
значение свойства.
BusyAction
— Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка в виде 'queue'
или 'cancel'
. BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
BusyAction
свойство определяет поведение постановки в очередь коллбэка только, когда оба из этих условий соблюдают:
При этих условиях, BusyAction
свойство объекта, который владеет прерыванием обратного вызова, определяет, как MATLAB обрабатывает прерывание обратного вызова. Это возможные значения 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
— Тип графического объекта'uihtml'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uihtml'
.
Tag
— Идентификатор объекта''
(значение по умолчанию) | вектор символов | строковый скалярИдентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag
значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj
функционируйте, чтобы искать основанное на объектах на Tag
значение.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные в виде любого массива MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData
свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.