Создайте рисунок для разработки приложений
создает рисунок для создания пользовательского интерфейса и возвращает fig
= uifigureFigure
объект. Это тип рисунка, которую использует App Designer.
задает свойства рисунка с помощью одной или нескольких fig
= uifigure(Name,Value
)Name,Value
аргументы в виде пар.
fig = uifigure;
Создайте фигуру пользовательского интерфейса с определенным заголовком.
fig = uifigure('Name','Plotted Results');
Получите местоположение, ширину и высоту рисунка.
p = fig.Position
ans = 680 678 560 420
Создайте фигуру пользовательского интерфейса по умолчанию.
fig = uifigure;
Получите местоположение, ширину и высоту рисунка.
fig.Position
ans = 681 559 560 420
Это означает, что окно рисунка расположено на 681 пиксель справа и на 559 пикселей выше нижнего левого угла первичного отображения и имеет ширину 560 пикселей и высоту 420 пикселей.
Уменьшите вдвое ширину и высоту рисунка, отрегулировав третий и четвертый элементы вектора положения.
fig.Position(3:4) = [280 210];
Создайте два окон 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
Нажмите кнопку закрытия рисунка. Откроется диалоговое окно подтверждения (Confirmation).
Измените символ указателя мыши, который отображается при наведении указателя мыши на кнопку.
Этот программный файл, называемый 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
как заголовок фигуры пользовательского интерфейса.Перечисленные здесь свойства являются подмножеством доступных свойств. Полный список см. в разделе Свойства фигуры пользовательского интерфейса.
'WindowStyle'
- Стиль окна'normal'
(по умолчанию) | 'modal'
| 'alwaysontop'
Стиль окна, заданный как один из следующих:
'normal'
- Окно рисунка не зависит от других окон, а другие окна доступны во время отображения рисунка.
'modal'
- рисунок отображается поверх всех существующих окон рисунка с нормальным стилем окна, делая их недоступными, пока верхняя фигура существует и остается модальной. Однако отобразятся все новые рисунки, созданные после модального рисунка.
Когда существует несколько модальных окон, последнее созданное окно сохраняет особое внимание и остается над всеми остальными окнами, пока не становится невидимым, или возвращается к обычному стилю окна, или удаляется. В то время особое внимание возвращается к окну, которое последнее имело особое внимание.
'alwaysontop'
- рисунок отображается поверх всех других окон, включая модальные окна рисунка и окна из приложений, отличных от MATLAB. Другие окна все еще доступны.
Примечание
Это некоторые важные характеристики WindowStyle
свойство и некоторые рекомендуемые лучшие практики:
Когда вы создаете окна пользовательского интерфейса, всегда задайте 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'
на рисунке с дочерними элементами меню. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.