UI Figure Properties

Управляйте внешним видом и поведением фигуры пользовательского интерфейса для uifigure- основанные приложения

Фигуры пользовательского интерфейса являются контейнерами для того, чтобы создать приложения в App Designer или программно с uifigure функция. Свойства управляют внешним видом и поведением фигуры пользовательского интерфейса. Используйте запись через точку для ссылки на конкретный объект и свойство:

fig = uifigure;
fig.Name = 'My App'; 

Внешний вид окна

развернуть все

Цвет фона в виде триплета 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'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты 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'

Стиль окна в виде одного из следующего:

  • 'normal' — Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.

  • 'modal' — Фигура отображается сверху всех существующих окон рисунка с нормальным стилем окна, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.

    Когда несколько модальных окон существуют, последний раз созданное окно сосредотачивает внимание и остается, прежде всего, другие окна, пока это не становится невидимым, или возвращено в нормальный стиль окна или удалено. В то время особое внимание возвращается к окну, которое в последний раз сфокусировалось.

  • 'alwaysontop' — Фигура отображается сверху всех других окон, включая модальные окна рисунка и окна от неприложений MATLAB. Другие окна все еще доступны.

Примечание

Это некоторые важные характеристики WindowStyle свойство и некоторые рекомендуемые лучшые практики:

  • Когда вы создаете окна UI, всегда задаете WindowStyle свойство. Если вы также хотите установить Resize или Position свойства фигуры, затем устанавливает WindowStyle свойство сначала.

  • Можно изменить WindowStyle свойство фигуры в любое время, включая то, когда фигура отображается и содержит дочерние элементы. Однако в некоторых системах, устанавливая это свойство может заставить фигуру высвечиваться или исчезать и вновь появляться, в зависимости от реализации системы нормальных и модальных окон. Для лучших визуальных результатов, набор WindowStyle свойство во время создания или когда фигура невидима.

Фигура пользовательского интерфейса модальное поведение стиля окна

Когда WindowStyle установлен в 'modal', окно UI Figure блокирует взаимодействия клавиатуры и мыши в окне UI Figure, которое было создано перед ним и имеет его Visible набор свойств к 'on'. Например, в этом рисунке 3 в качестве примера модально относительно рисунка 2, и рисунок 2 модален относительно рисунка 1.

fig1 = uifigure('Name','Figure 1');
fig1.WindowStyle = 'modal';

fig2 = uifigure('Name','Figure 2');
fig2.WindowStyle = 'modal';

fig3 = uifigure('Name','Figure 3');
fig3.WindowStyle = 'modal';
Иерархия модальности не сохраняется, если существует комбинация модальных и нормальных фигур в иерархии фигур.

В отличие от модальных фигур, созданных с figure функция, модальные фигуры создаются с uifigure функция не блокирует доступ к фигурам, созданным с функцией figure или рабочим столом MATLAB. Взаимодействия с окнами приложения кроме MATLAB также не блокируются.

Ввод Ctrl+C, когда модальная фигура фокусируется причины, которые фигурируют, чтобы вернуться к 'normal' WindowStyle установка свойства. Это позволяет пользователю вводить в командной строке.

Фигуры пользовательского интерфейса с WindowStyle набор свойств к 'modal' и Visible набор свойств к 'off' не ведите себя модально, пока MATLAB не делает их видимыми. Поэтому можно скрыть модальное окно для более позднего повторного использования, вместо того, чтобы уничтожить его.

Модальные фигуры не делают дочерних элементов меню отображения, встроенных меню или панелей инструментов. Но, это не ошибка создать меню на модальном рисунке или изменить WindowStyle установка свойства на 'modal' на фигуре с дочерними элементами меню. Menu объекты существуют, и фигура сохраняет их. Если вы сбрасываете фигуру пользовательского интерфейса WindowStyle свойство к 'normal', отображение меню.

Статус окна в виде одного из этих значений:

  • 'normal' — Окно отображается в нормальном состоянии.

  • 'minimized' — Окно сворачивается, но можно все еще выполнить команды, чтобы получить или установить его свойства, добавить дочерние элементы или создать графики в окне.

  • 'maximized' — Окно заполняет экран. Минимизирование, восстановление и близкие кнопки, обеспеченные операционной системой, появляются в углу окна. Если окно имеет меню в нормальном состоянии, они присутствуют в этом состоянии.

  • 'fullscreen' — Окно заполняет экран. Однако минимизирование, восстановление и близкие кнопки, обеспеченные операционной системой, скрыты. Если окно имеет меню в нормальном состоянии, они присутствуют в этом состоянии.

При нажатии на минимизирование максимизируйте, или кнопка восстановления, обеспеченная операционной системой, устанавливает WindowState свойство соответственно. Нажатие Ctrl+F11 (Windows® и Linux®) или Ctrl+Command+F (Mac OS) переключает 'fullscreen' состояние. Установка этого свойства на прикрепленной фигуре или в MATLAB Online™ не поддерживается.

Фигуры пользовательского интерфейса не могут быть минимизированы непосредственно от полноэкранного состояния.

Положение и размер

развернуть все

Местоположение и размер фигуры пользовательского интерфейса, исключая границы и строку заголовка в виде четырехэлементного вектора из формы [left bottom width height].

В этой таблице описываются каждый элемент в векторе.

ЭлементОписание
leftРасстояние от левого края главного дисплея к внутреннему левому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.
bottomРасстояние от базового края главного дисплея к внутреннему базовому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.
widthРасстояние между правыми и левыми внутренними краями фигуры пользовательского интерфейса.
heightРасстояние между верхними и нижними внутренними краями фигуры пользовательского интерфейса.

Единицы измерения в виде 'pixels'.

Местоположение и размер фигуры пользовательского интерфейса, исключая границы и строку заголовка в виде четырехэлементного вектора из формы [left bottom width height]. Все измерения находятся в модулях, заданных Units свойство.

Это значение свойства идентично Position значение свойства.

Фигура пользовательского интерфейса изменяемого размера в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Когда это свойство установлено в 'on', фигура пользовательского интерфейса изменяемого размера. В противном случае это не изменяемого размера.

Автоматически измените размер дочерних элементов в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Дочерние компоненты автоматически изменяют размер, когда контейнер изменяет размер.

  • 'off' — Дочерние компоненты не изменяют размер.

AutoResizeChildren свойство влияет на прямые дочерние элементы контейнера, не дочерние элементы во вложенных контейнерах.

Чтобы настроить поведение при изменении размера, установите AutoResizeChildren свойство к 'off' и создайте SizeChangedFcn коллбэк для контейнера. Для получения дополнительной информации смотрите, Управляют Приложениями Изменяемого размера в App Designer.

Чтобы отключить изменение размеров приложения, установите Resize свойство фигуры к 'off'.

Графический вывод

развернуть все

Карта цветов для UIAxes содержимое в виде m- 3 массив RGB (красный, зеленый, синий) триплеты, которые задают m отдельные цвета.

Пример: uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0]) устанавливает карту цветов на три цвета: пурпурный, синий цвет, и желтый.

MATLAB получает доступ к этим цветам их номером строки.

Карта прозрачности для содержимого осей в виде вектора из значений между 0 и 1, включительно. Размер вектора может быть m-1 или 1 m. Альфа-значения доступов MATLAB их индексом в векторе. Alphamaps может быть любой длиной.

Указатель мыши

развернуть все

Символ указателя в виде одного из значений в следующей таблице или как 'custom'. Внешний вид символа зависим от операционной системы.

Значение

Получившийся (системно-зависимый) символ

'arrow'

'ibeam'

'crosshair'

'watch' (занятая система)

'topl' или 'botr'

'topr' или 'botl'

'circle'

'cross'

'fleur'

'left' или 'right'

'top' или 'bottom'

'hand'

Символ пользовательского указателя

Чтобы создать символ пользовательского указателя, программно установите Pointer свойство к 'custom' и используйте PointerShapeCData свойство задать символ. Смотрите PointerShapeCData свойство для получения дополнительной информации.

Ограничения

  • Значения символа указателя 'circle'крест, и 'custom' не поддерживаются в веб-браузере Microsoft Edge®.

  • Символы указателя заданы Pointer свойство не отображает по HTML компоненты пользовательского интерфейса, созданные с uihtml функция.

Символ пользовательского указателя в виде 16- 16 матрица (для 16 16 пиксельного указателя), или как 32- 32 матрица (для 32 32 пиксельного указателя). Фигура использует этот символ указателя, когда вы устанавливаете Pointer свойство к 'custom'.

Каждый элемент в матрице задает уровень яркости для 1 пикселя в указателе. Элемент (1,1) из матрицы соответствует пикселю в левом верхнем углу в указателе. Установите элементы матрицы на одно из этих значений:

  • 1 — Черный пиксель.

  • 2 — Белый пиксель.

  • NaN — Прозрачный пиксель, такой, что базовый экран показывает через.

Активный пиксель указателя в виде двухэлементного вектора. Вектор содержит индексы строки и столбца конкретного элемента в PointerShapeCData матрица, которая соответствует желаемому активному пикселю. Значение по умолчанию [1 1] соответствует пикселю в левом верхнем углу указателя.

Если вы задаете значение вне области значений PointerShapeCData матрица, затем указатель использует активный пиксель по умолчанию [1 1] вместо этого.

Это свойство применяется только когда Pointer свойство установлено в 'custom'.

Интерактивность

развернуть все

Состояние видимости в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Отобразите объект.

  • 'off' — Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.

Чтобы заставить ваше приложение запуститься быстрее, установите Visible свойство к 'off' для всех компонентов, которые не должны появляться при запуске.

Изменение размера невидимого контейнера инициировало SizeChangedFcn коллбэк, когда это становится видимым.

Изменение Visible свойство контейнера не изменяет значения Visible свойства дочерних компонентов. Это верно даже при том, что сокрытие контейнера заставляет дочерние компоненты быть скрытыми.

Целевые оси в текущей фигуре пользовательского интерфейса в виде UIAxesОси, или PolarAxes объект или графический объект, такой как HeatmapChart.

Во всех фигурах пользовательского интерфейса, для которых существуют дочерние элементы осей, всегда существует текущая система координат. Текущая система координат не должна быть самыми верхними осями и установкой, оси, чтобы быть текущей системой координат не повторно складывают ее, прежде всего, другие оси. Если фигура пользовательского интерфейса не содержит осей, get(gcf,'CurrentAxes') команда возвращает пустой массив.

Запросите CurrentAxes свойство получить текущую систему координат возражает, не обеспечивая создание оси, если вы не существуете.

Текущий объект, возвращенный как дочерний объект фигуры пользовательского интерфейса. MATLAB устанавливает CurrentObject свойство к последнему объекту, по которому кликают в фигуре пользовательского интерфейса.

Нажатие на объект, чей HandleVisibility свойством является 'off' устанавливает CurrentObject свойство к пустому GraphicsPlaceholder массив.

Current point, возвращенная как двухэлементный вектор. Вектор содержит (x, y) координаты указателя мыши, измеренного в пикселях от нижнего левого угла фигуры пользовательского интерфейса. Если фигура пользовательского интерфейса с возможностью прокрутки, координаты измеряются от нижнего левого угла области с возможностью прокрутки. Областью с возможностью прокрутки является область, которая ограничена пределами полос прокрутки.

Координаты обновляются, когда вы делаете любое следующее:

  • Нажмите кнопку мыши в фигуре пользовательского интерфейса.

  • Отпустите кнопку мыши после нажатия его в фигуре пользовательского интерфейса.

  • Нажмите кнопку мыши в фигуре пользовательского интерфейса, и затем выпустите его вне фигуры пользовательского интерфейса.

  • Вращайте колесико прокрутки в фигуре пользовательского интерфейса.

  • Переместите мышь в фигуре (не нажимая кнопок), пока WindowButtonMotionFcn свойство не пусто.

Если фигура пользовательского интерфейса имеет коллбэк, который отвечает на взаимодействия мыши, и вы инициировали тот коллбэк быстрее, чем система может выполнить код, координаты не могут отразить фактическое местоположение указателя. Вместо этого они - местоположение, когда коллбэк начал выполнение.

Если вы используете CurrentPoint свойство построить точки, координатные значения могут содержать погрешность округления.

Текущий символ, возвращенный как символ последней нажатой клавиши. Это свойство обновляется, когда фигура пользовательского интерфейса фокусируется, в то время как пользователь нажимает клавишу.

Тип выбора мыши, возвращенный как 'normal', 'extend', 'alt', или 'open'. Это свойство предоставляет информацию о последнем нажатии кнопки мыши, которое произошло в фигуре пользовательского интерфейса.

Эта таблица приводит возможный SelectionType значения и пользовательские действия, которые производят те значения.

Значение

Соответствующее действие

'normal'

Щелкните левой кнопкой мыши.

'extend'

Любое следующее:

  • Shift - щелкните левой кнопкой мыши.

  • Щелкните средней кнопкой мыши.

  • Щелкните обеими левыми и правыми кнопками мыши.

'alt'

Любое из следующего:

  • Control - щелкните левой кнопкой мыши.

  • Щелкните правой кнопкой мыши.

'open'

Дважды кликните любую кнопку мыши.

Способность прокрутить в виде 'off' или 'on', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Установка этого свойства к 'on' позволяет прокрутить в контейнере. Однако существуют дополнительные требования:

  • Дочерние компоненты в контейнере должны занять большую область, чем контейнер может отобразиться одновременно.

  • Компоненты, которые не помещаются в контейнер, должны быть выше или справа от контейнера. Вы не можете прокрутить к компонентам, которые являются ниже или слева от контейнера.

Определенные типы графиков и осей не поддерживают контейнеры с возможностью прокрутки. Однако можно поместить график или оси в панели без возможности прокрутки, и затем поместить панель в контейнер с возможностью прокрутки. Для получения дополнительной информации смотрите Графику Отображения в App Designer.

Контекстное меню в виде ContextMenu объект, созданный с uicontextmenu функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по фигуре пользовательского интерфейса.

Общие коллбэки

развернуть все

Кнопка вниз коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк выполняется, когда пользователь кликает по пустой области фигуры пользовательского интерфейса.

Для получения дополнительной информации об определении значения свойства коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Используйте SelectionType свойство определить, нажал ли пользователь модифицирующие клавиши.

Функция создания объекта в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство на существующем компоненте не оказывает влияния.

Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo функционируйте, чтобы получить доступ к объекту.

Функция удаления объекта в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первым элементом является указатель на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn коллбэк прежде, чем уничтожить свойства объекта. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo функционируйте, чтобы получить доступ к объекту.

Коллбэки клавиатуры

развернуть все

Коллбэк нажатия клавиши в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется, когда пользователь нажимает клавишу, в то время как фигура пользовательского интерфейса или дочерний компонент фокусируются. При нажатии клавиши на компоненте, который принимает, клавиатурный фокус (такой как поле редактирования) не выполняет коллбэк, если компонент не отключен. Можно отключить компонент путем установки Enable или Editable свойство к 'off'.

Если пользователь нажимает несколько клавиш приблизительно в то же время, MATLAB обнаруживает все ключи.

KeyPressFcn коллбэк может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в KeyData возразите в качестве второго аргумента против своей функции обратного вызова. Эта таблица приводит свойства KeyData объект.

СвойствоОписание
Character

Символ, который появляется в результате нажатия клавиши или ключей.

Нажатие определенных клавиш или изменение ключей с ключом Ctrl могут возвратить непечатные символы в этом свойстве.

Нажимание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерирует Character данные.

Modifier

Массив ячеек, содержащий имена нажатых модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не нажимаются, массив ячеек пуст.

Key

Клавиша, нажатая, идентифицированная строчной меткой на ключе или описательным словом, таким как 'space'.

SourceОбъект, который фокусируется, когда клавиша нажата.
EventName'KeyPress'

Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите Коллбэки Записи в App Designer.

CurrentCharacter свойство также возвращает символьную информацию.

Коллбэк ключевого релиза в виде одного из этих значений

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется, когда пользователь отпускает клавишу, в то время как фигура пользовательского интерфейса или дочерний компонент фокусируются. При отпускании клавиши на компоненте, который принимает, клавиатурный фокус (такой как поле редактирования) не выполняет коллбэк, если компонент не отключен. Можно отключить компонент путем установки Enable или Editable свойство к 'off'.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в KeyData возразите в качестве второго аргумента против своей функции обратного вызова. Эта таблица приводит свойства KeyData объект.

СвойствоОписание
Character

Символ, который соответствует ключу или клавишам, которые отпускаются.

Определенные ключи или сочетания клавиш могут возвратить непечатные символы в этом свойстве.

Нажимание и отпускание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерируют Character данные.

Modifier

Массив ячеек, содержащий имена выпущенных модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не выпущены, массив ячеек пуст.

Key

Клавиша, отпущенная, идентифицированная (строчной) меткой на ключе или описательным словом, таким как 'space'.

SourceОбъект, который фокусируется, когда клавиша отпускается.
EventName'KeyRelease'

Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите Коллбэки Записи в App Designer.

Обратные вызовы окна

развернуть все

Закройте коллбэк запроса в виде указателя на функцию, массив ячеек, содержащий указатель на функцию и дополнительные аргументы или вектор символов. MATLAB выполняет этот коллбэк, когда пользователь приложения пытается закрыть приложение. Например, можно закодировать коллбэк, чтобы отобразить диалоговое окно, которое просит, чтобы пользователь приложения подтвердил или отменил операцию закрытия.

Рассмотрите вызов delete функционируйте, чтобы закрыть Figure в CloseRequestFcn 'callback':

  • В App Designer вызовите delete(app).

  • Для приложений, созданных программно, вызовите delete(f), где f Figure объект.

Если closeRequestFcn коллбэк не содержит a delete команда, MATLAB никогда не закрывает окно. Можно всегда вызывать delete функционируйте, чтобы обеспечить окно, чтобы закрыться.

Коллбэк изменения размера в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Задайте этот коллбэк, чтобы настроить размещение приложения, когда размер этого контейнера изменяется (например, когда пользователь изменяет размер окна). В нем запишите код, чтобы настроить Position свойство дочерних компонентов.

Примечание

SizeChangedFcn коллбэк не выполнится если AutoResizeChildren свойство этого контейнера установлено в 'off'. В App Designer можно сделать SizeChangedFcn исполняемый файл путем выбора контейнера и снятия флажка AutoResizeChildren во вкладке Inspector Component Browser.

SizeChangedFcn коллбэк выполняется когда:

  • Этот контейнер становится видимым впервые.

  • Этот контейнер отображается, в то время как его размер изменяется.

  • Этот контейнер становится видимым впервые после того, как его размер изменится. Эта ситуация происходит, когда размер изменяется, в то время как контейнер невидим, и затем это становится видимым позже.

Другие важные моменты, чтобы рассмотреть при определении SizeChangedFcn 'callback':

  • Рассмотрите задержку отображения этого контейнера до окончания всех переменных что SizeChangedFcn использование задано. Эта практика может предотвратить SizeChangedFcn коллбэк от возврата ошибки. Чтобы задержать отображение контейнера, установите его Visible свойство к 'off'. Затем установите Visible свойство к 'on' после того, как вы задаете переменные что ваш SizeChangedFcn использование коллбэка.

  • Если ваше приложение содержит вложенные контейнеры, они изменяют размер от наизнанку.

  • Получить доступ к контейнеру, который изменяет размер из SizeChangedFcn, обратитесь к исходному объекту (первый входной параметр в коллбэке) или используйте gcbo функция.

Альтернативные способы задать поведение при изменении размера состоят в том, чтобы создать GridLayout возразите или используйте опции автообратного течения в App Designer. Эти опции может быть легче использовать, чем SizeChangedFcn коллбэки. Однако существуют некоторые преимущества что SizeChangedFcn коллбэки имеют по этим опциям. Например:

  • Изменение размеров компонента до минимального или максимального размера, который вы задаете.

  • Реализация нелинейных поведений при изменении размера, как изменение размера компонентно-ориентированного на размере родительского контейнера.

Кнопка Window вниз коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк выполняется, когда пользователь щелкает:

  • Пустая область фигуры пользовательского интерфейса.

  • Компонент пользовательского интерфейса в фигуре пользовательского интерфейса.

  • Графический объект в фигуре пользовательского интерфейса, которая поддерживает ButtonDownFcn свойство.

Например, нажатие axes возразите инициировал WindowButtonDownFcn 'callback'.

Если пользователь нажимает UITable компонент, коллбэк не выполняется если Enable свойство установлено в 'off'.

См. список свойств для определенного графического объекта, чтобы определить, поддерживает ли он ButtonDownFcn свойство. См. Свойства графического объекта для свойств графических объектов.

Примечание

Коллбэк выполняется, когда пользователь кликает по a uiaxes компонент, даже при том, что uiaxes компоненты не поддерживают ButtonDownFcn свойство.

Для получения дополнительной информации об определении значения свойства коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Коллбэк движения кнопки Window в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Как правило, эта функция обратного вызова выполняется каждый раз, когда пользователь перемещает указатель в фигуре пользовательского интерфейса. Однако, если пользователь кликает и удерживает кнопку мыши и перемещает указатель вне фигуры пользовательского интерфейса, WindowButtonMotionFcn коллбэк выполняется, в то время как указатель находится вне фигуры пользовательского интерфейса.

Для получения дополнительной информации об определении значения свойства коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Window застегивает коллбэк в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк выполняется когда пользователь:

  • Отпускает кнопку мыши на пустой области фигуры пользовательского интерфейса.

  • Отпускает кнопку мыши на компоненте пользовательского интерфейса в фигуре пользовательского интерфейса.

  • Отпускает кнопку мыши на графическом объекте в фигуре пользовательского интерфейса, которая поддерживает ButtonDownFcn свойство.

Например, отпуская кнопку мыши на axes возразите инициировал WindowButtonUpFcn 'callback'.

Если пользователь отпускает кнопку мыши на UITable компонент, коллбэк не выполняется если Enable свойство установлено в 'off'.

См. список свойств для определенного графического объекта, чтобы определить, поддерживает ли он ButtonDownFcn свойство. См. Свойства графического объекта для свойств графических объектов.

Действия кнопки сопоставлены с консервативными действиями в фигуре пользовательского интерфейса. Указатель мыши должен быть в фигуре пользовательского интерфейса, когда консервативное действие происходит, но это может найтись вне фигуры, когда действие кнопки происходит.

Примечание

Коллбэк выполняется, когда пользователь отпускает кнопку мыши на a uiaxes компонент, даже при том, что uiaxes компоненты не поддерживают ButtonDownFcn свойство.

Для получения дополнительной информации об определении значения свойства коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Коллбэк нажатия клавиши окна в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется, когда пользователь нажимает клавишу, в то время как фигура пользовательского интерфейса или дочерний компонент фокусируются. Если пользователь нажимает несколько клавиш приблизительно в то же время, MATLAB обнаруживает все ключи.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в KeyData возразите в качестве второго аргумента против своей функции обратного вызова. Эта таблица приводит свойства KeyData объект.

СвойствоОписание
Character

Символ, который появляется в результате нажатия клавиши или ключей.

Нажатие определенных клавиш или изменение ключей с ключом Ctrl могут возвратить непечатные символы в этом свойстве.

Нажимание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерирует Character данные.

Modifier

Массив ячеек, содержащий имена нажатых модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не нажимаются, массив ячеек пуст.

Key

Клавиша, нажатая, идентифицированная строчной меткой на ключе или описательным словом, таким как 'space'.

SourceОбъект, который фокусируется, когда клавиша нажата.
EventName'KeyPress'

Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите Коллбэки Записи в App Designer.

CurrentCharacter свойство также возвращает символьную информацию.

Коллбэк ключевого релиза окна в виде одного из этих значений

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется, когда пользователь отпускает клавишу, в то время как фигура пользовательского интерфейса или дочерний компонент фокусируются.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в KeyData возразите в качестве второго аргумента против своей функции обратного вызова. Эта таблица приводит свойства KeyData объект.

СвойствоОписание
Character

Символ, который соответствует ключу или клавишам, которые отпускаются.

Определенные ключи или сочетания клавиш могут возвратить непечатные символы в этом свойстве.

Нажимание и отпускание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерируют Character данные.

Modifier

Массив ячеек, содержащий имена выпущенных модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не выпущены, массив ячеек пуст.

Key

Клавиша, отпущенная, идентифицированная (строчной) меткой на ключе или описательным словом, таким как 'space'.

SourceОбъект, который фокусируется, когда клавиша отпускается.
EventName'KeyRelease'

Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите Коллбэки Записи в App Designer.

Коллбэк колесика прокрутки окна в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк выполняется, когда пользователь перемещает колесико прокрутки, в то время как фигура пользовательского интерфейса или любой из ее дочерних элементов фокусируются. Однако другие объекты могут получить перемещение колесика прокрутки и вмешаться в выполнение этого коллбэка.

Этот коллбэк не оказывает влияния на CurrentObject и SelectionType свойства.

Этот коллбэк может получить доступ к определенной информации, когда пользователь вращает колесико прокрутки. MATLAB передает эту информацию в ScrollWheelData возразите в качестве второго аргумента против своей функции обратного вызова. Эта таблица приводит свойства ScrollWheelData объект.

Свойство

Содержимое

VerticalScrollCount

Положительное или отрицательное число, которое указывает на направление и количество нажатий кнопки колесика прокрутки. Прокручивание вниз возвращает положительное значение. Прокрутка возвращает отрицательное значение.

Вертикальное количество прокрутки является суммой всех нажатий кнопки колесика прокрутки, которые произошли с прошлого раза выполняемый коллбэк. Как правило, значением является 1 или -1. Однако количество прокрутки может иметь большую величину если WindowScrollWheelFcn коллбэк занимает много времени, чтобы возвратиться, или если пользователь вращает колесико прокрутки очень быстро.

VerticalScrollAmount

Постоянное значение 3.

Source

Объект, который выполняет коллбэк.

EventName'WindowScrollWheel'.

Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите Коллбэки Записи в App Designer

Пример: приложение для изменения x - пределы по осям

В этом примере показано, как создать приложение, которое отображает график. Пользователь может прокрутить, чтобы изменить пределы x - ось. Скопируйте и вставьте следующий код в редактор и запустите его.

function scroll_wheel
% Shows how to use WindowScrollWheelFcn property
%
   f = uifigure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo');
   x = 0:.1:40;
   y = 4.*cos(x)./(x+2);
   a = axes(f); 
   h = plot(a,x,y);
   title(a,'Rotate the scroll wheel')

   function figScroll(~,event)
      if event.VerticalScrollCount > 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)+inc];
         re_eval(x)
      elseif event.VerticalScrollCount < 0 
         xd = h.XData;
         inc = xd(end)/20;
         % Don't let xd = 0
         x = [0:.1:xd(end)-inc+.1]; 
         re_eval(x)
      end
   end

   function re_eval(x)
      y = 4.*cos(x)./(x+2);
      h.YData = y;
      h.XData = x;
      a.XLim = [0 x(end)];
      drawnow
   end
end

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Это свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание.

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует a drawnow, figure, uifigure, getframe, waitfor, или pause команда.

    • Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

    • Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.

  • Значение 'off' блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются согласно расписанию независимо от Interruptible значение свойства.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Постановка в очередь коллбэка в виде 'queue' или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения BusyAction свойство:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняет прерывание обратного вызова.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

Проверяйте значение BeingDeleted свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Родительский элемент/Дочерние элементы

развернуть все

Это свойство доступно только для чтения.

Родительский объект, возвращенный как корневой объект.

Дочерние элементы Figure объект, возвращенный как пустой GraphicsPlaceholder или одномерный массив объектов компонента. Дочерние элементы могут быть любым компонентом, исключая другой Figure объект.

Вы не можете добавить или удалить дочерний компонент с помощью Children свойство. Используйте это свойство просмотреть список дочерних элементов или переупорядочить дочерние элементы. Порядок дочерних элементов в этом массиве отражает порядок "от первого до последнего" (порядок размещения) компонентов на экране.

Чтобы добавить дочерний элемент в этот список, установите Parent свойство дочернего компонента к Figure объект.

Видимость указателя на объект в виде 'off''callback', или 'on'. Это свойство предоставляет информацию о видимости Figure объект в его родительском списке дочерних элементов. Значение по умолчанию установлено в 'off' предотвратить Figure объект от становления текущей фигурой (gcf) и препятствовать тому, чтобы функции внесли нежелательные изменения в пользовательский интерфейс.

Эта таблица описывает эффект устанавливания каждого значения:

Значение HandleVisibilityОписание
'off'

Figure указатель на объект не отображается от функций обратного вызова или функций, которые выполняются в Командном окне. Кроме того, указатель на объект:

  • Не видимый в списках, возвращенных графическим корневым Children или CurrentFigure свойства.

  • Не возвращенный функциями, которым доступ возражает путем поиска иерархии объектов или запроса свойств объектов. Эти функции включают gcf, gco, get, findobj, clf, и close.

Эта опция предотвращает функции обратного вызова и функции, вызванные из командной строки от предназначения для объекта и внесения непреднамеренных изменений в пользовательский интерфейс.

'callback'

Figure указатель на объект отображается только из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из Командного окна. Кроме того, указатель на объект не отображается в списках, возвращенных графическим корневым Children или CurrentFigure свойства.

Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.

'on'

Figure указатель на объект всегда отображается.

Объекты допустимы даже если их HandleVisibility свойство установлено в 'off'. Если у вас есть доступ к объекту, можно установить и получить его свойства и передать его любой функции, которая работает с объектами.

Идентификаторы

развернуть все

Имя фигуры в виде вектора символов или строкового скаляра.

Пример: uifigure('Name','Results') определяет имя фигуры к 'Results'.

В App Designer, значении по умолчанию Name свойством является 'MATLAB App'.

Источник значка или файл в виде вектора символов, строкового скаляра или m- n- 3 матрицы изображений истинного цвета. Если вы задаете имя файла, это может быть имя файла образа на пути MATLAB или полном пути к файлу изображения. Если вы планируете совместно использовать приложение с другими, поместите файл изображения на путь MATLAB, чтобы упростить упаковку приложения.

Поддерживаемые форматы изображения включают JPEG, PNG, GIF и m- n- 3 матрицы изображений истинного цвета. Для получения дополнительной информации о матрицах изображений истинного цвета, смотрите Типы изображения. Анимированные файлы GIF отображают только первую систему координат.

Если достаточный пробел не доступен, чтобы отобразить значок полностью в полном размере, MATLAB уменьшает масштаб изображения, чтобы соответствовать.

Пример: 'icon.png' задает файл значка на пути MATLAB.

Пример: 'C:\Documents\icon.png' задает полный путь к файлу изображения.

Пример: fig = uifigure('Icon','peppers.png') создает фигуру пользовательского интерфейса с помощью заданного файла изображения значка.

Это свойство доступно только для чтения.

Количество фигуры, возвращенной как целочисленный или пустой массив. Можно обратиться к фигуре, использующей это значение. Например, figure(2) делает фигуру с Number значение свойства 2 текущая фигура.

Если IntegerHandle свойство установлено в 'off', Number свойство пусто.

Если IntegerHandle 'on', Number свойство является целым числом. Когда вы удаляете фигуру, MATLAB снова использует номер для следующей фигуры.

Заголовок номера в виде 'off' или 'on', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Когда вы устанавливаете это свойство на 'on', заголовок фигуры пользовательского интерфейса включает фразу 'Figure n', где n номер.

Оба NumberTitle и IntegerHandle свойства должны быть установлены в 'on' показать номер в заголовке.

Используйте целочисленный указатель в виде 'off' или 'on', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Если вы устанавливаете IntegerHandle свойство к 'on', MATLAB находит самое низкое целочисленное значение, которое не используется существующей фигурой и устанавливает Number свойство к тому значению. Если вы удаляете фигуру пользовательского интерфейса, MATLAB может снова использовать свой номер на новой фигуре.

Если вы устанавливаете IntegerHandle свойство к 'off', MATLAB не присваивает целочисленное значение фигуре пользовательского интерфейса, и это устанавливает Number свойство к пустому массиву.

Показать номер в строке заголовка, обоих IntegerHandle и NumberTitle должен быть установлен в 'on'.

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'figure'.

Идентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные в виде любого массива MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Введенный в R2016a
Для просмотра документации необходимо авторизоваться на сайте