Создайте фигуру для разработки приложений
создает фигуру для создания пользовательского интерфейса и возвращает fig
= uifigureFigure
объект. Это - тип фигуры, которую использует App Designer.
задает свойства фигуры с помощью одного или нескольких fig
= uifigure(Name,Value
)Name,Value
парные аргументы.
fig = uifigure;
Создайте фигуру пользовательского интерфейса с определенным заголовком.
fig = uifigure('Name','Plotted Results');
Получите Position
значение свойства.
p = fig.Position
ans = 680 678 560 420
Создайте два окна UI Figure. Блокируйте взаимодействия в рисунке 1 путем определения 'modal'
как WindowStyle
значение свойства для рисунка 2. Заметьте, что вы не можете взаимодействовать с рисунком 1, пока рисунок 2 не закрывается.
fig1 = uifigure('Name','Figure 1'); fig1.Position = [500 500 370 270]; fig2 = uifigure('Name','Figure 2'); fig2.Position = [540 450 370 270]; fig2.WindowStyle = 'modal';
Закодируйте CloseRequestFcn
коллбэк, чтобы открыть модальное поле Диалогового окна подтверждения, когда пользователь пытается закрыть окно.
Скопируйте и вставьте этот код в Редактор MATLAB®, и затем запустите closeFig
.
function closeFig fig = uifigure('Position',[100 100 425 275]); fig.CloseRequestFcn = @(fig,event)my_closereq(fig); function my_closereq(fig,selection) selection = uiconfirm(fig,'Close the figure window?',... 'Confirmation'); switch selection case 'OK' delete(fig) case 'Cancel' return end end end
Нажмите фигуру близкая кнопка. Поле Диалогового окна подтверждения открывается.
Измените символ указателя мыши, который отображается, когда вы наводите на кнопку.
Этот программный файл, названный setMousePointer.m
, показывает вам как:
Создайте фигуру пользовательского интерфейса, которая выполняет пользовательский код, когда мышь отодвинута кнопка. Для этого используйте @
оператор, чтобы присвоить mouseMoved
указатель на функцию к WindowButtonMotionFcn
свойство фигуры.
Создайте кнопку и задайте ее координаты и метку.
Создайте функцию обратного вызова под названием mouseMoved
с пользовательским кодом вы хотите выполниться, когда мышь отодвигается кнопка. В функции запросите CurrentPoint
свойство определить координаты указателя мыши. Установите Pointer
свойство к 'hand'
если координаты указателя в координатах кнопки.
Запустите setMousePointer
. Затем переместите мышь через кнопку, чтобы видеть, что символ указателя мыши изменяется.
function setMousePointer fig = uifigure('Position',[500 500 375 275]); fig.WindowButtonMotionFcn = @mouseMoved; btn = uibutton(fig); btnX = 50; btnY = 50; btnWidth = 100; btnHeight = 22; btn.Position = [btnX btnY btnWidth btnHeight]; btn.Text = 'Submit Changes'; function mouseMoved(src,event) mousePos = fig.CurrentPoint; if (mousePos(1) >= btnX) && (mousePos(1) <= btnX + btnWidth) ... && (mousePos(2) >= btnY) && (mousePos(2) <= btnY + btnHeight) fig.Pointer = 'hand'; else fig.Pointer = 'arrow'; end end end
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Name','My App'
задает My App
как заголовок фигуры пользовательского интерфейса.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите UI Figure Properties.
'WindowStyle'
WindowStyle 'normal'
(значение по умолчанию) | 'modal'
Стиль окна в виде одного из следующего:
'normal'
— Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.
'modal'
— Фигура отображается сверху всех существующих окон рисунка, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.
Когда несколько модальных окон существуют, последний раз созданное окно сосредотачивает внимание и остается, прежде всего, другие окна, пока это не становится невидимым, или возвращено в нормальный стиль окна или удалено. В то время особое внимание возвращается к окну, которое в последний раз сфокусировалось.
Примечание
Это некоторые важные характеристики 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'
, отображение меню.
'Name'
Имя''
(значение по умолчанию) | вектор символов | строковый скалярИмя фигуры в виде вектора символов или строкового скаляра.
Пример: uifigure('Name','Results')
определяет имя фигуры к 'Results'
.
В App Designer, значении по умолчанию Name
свойством является 'MATLAB App'
.
'Position'
— Местоположение и размер фигуры пользовательского интерфейса, исключая границы и строку заголовка[left bottom width height]
Местоположение и размер фигуры пользовательского интерфейса, исключая границы и строку заголовка в виде четырехэлементного вектора из формы [left bottom width height]
.
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от левого края главного дисплея к внутреннему левому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. |
bottom | Расстояние от базового края главного дисплея к внутреннему базовому краю окна UI Figure. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. |
width | Расстояние между правыми и левыми внутренними краями фигуры пользовательского интерфейса. |
height | Расстояние между верхними и нижними внутренними краями фигуры пользовательского интерфейса. |
В настоящее время вы не можете передать Figure
объект, созданный с uifigure
функционируйте к print
функция. При попытке для этого, MATLAB выдает ошибку. Для получения дополнительной информации смотрите Графику Отображения в App Designer.
Используйте графический корневой объект, чтобы установить значения по умолчанию на корневом уровне для других типов объектов. Например, установите палитру по умолчанию для всех будущих фигур к summer
палитра.
set(groot,'DefaultFigureColormap',summer)
'remove'
ключевое слово.set(groot,'DefaultFigureColormap','remove')
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.