uifigure
创建用于设计应用程序的图形
描述
例子
创建默认UI图
FIG = ufigure;
设置和访问属性
创建具有特定标题的UI图。
图= ufigure图(“名字”,“策划的结果”);
获取图形的位置、宽度和高度。
p = fig.位置
Ans = 680 678 560 420
更改图形大小
创建一个默认的UI图。
FIG = ufigure;
获取图形的位置、宽度和高度。
fig.Position
Ans = 681 559 560 420
这意味着图形窗口位于主显示器右上方681像素,左下角上方559像素,宽560像素,高420像素。
通过调整位置矢量的第三和第四个元素,将图形的宽度和高度减半。
fig.Position(3:4) = [280 210];
创建模态UI图
创建两个UI图窗口。通过指定来阻止图1中的交互“模态”
随着WindowStyle
属性值为图2。注意,在关闭图2之前,您无法与图1交互。
Fig1 = ufigfigure (“名字”,“图1”);图一:位置= [500 500 370 270];Fig2 = ufigfigure (“名字”,“图2”);图二:位置= [540 450 370 270];图二:WindowStyle =“模态”;
代码CloseRequestFcn确认关闭UI图
代码CloseRequestFcn
回调函数在用户试图关闭窗口时打开模式确认对话框。
复制并粘贴此代码到MATLAB中®编辑器,然后运行closeFig
.
函数closeFig fig = ufigure (“位置”,[100 100 425 275]);fig.CloseRequestFcn = @(src,event)my_closereq(src);函数my_closeeq (fig) select = uiconfirm(fig,“关闭图形窗口?”,...“确认”);开关选择情况下“好吧”删除(图)情况下“取消”返回结束结束结束
单击图形关闭按钮。弹出确认对话框。
更改鼠标指针符号
当鼠标悬停在按钮上时,更改显示的鼠标指针符号。
这个程序文件,称为setMousePointer.m
,向您展示如何:
创建一个UI图,当鼠标移动到按钮上时执行自定义代码。要做到这一点,请使用
@
运算符将mouseMoved
函数句柄。WindowButtonMotionFcn
图形的属性。创建一个按钮,并指定其坐标和标签。
创建一个回调函数
mouseMoved
当鼠标移到按钮上时要执行的自定义代码。在函数中查询CurrentPoint
属性确定鼠标指针坐标。设置指针
财产“手”
如果指针坐标在按钮坐标内。
运行setMousePointer
.然后将鼠标移动到按钮上,可以看到鼠标指针符号从箭头变为手。
函数setMousePointer fig = ufig (“位置”,[500 500 375 275]);fig.WindowButtonMotionFcn = @mouseMoved;BTN = uibutton(图);btnX = 50;btnY = 50;btnWidth = 100;btnHeight = 22;btn。位置= [btnX btnY btnWidth btnHeight];btn。Text =提交更改的;函数mouseMoved(src,event) mousePos = fig.CurrentPoint;如果(mousePos(1) >= btnX) && (mousePos(1) <= btnX + btnWidth)...&& (mousePos(2) >= btnY) && (mousePos(2) <= btnY + btnHeight“手”;其他的fig.Pointer =“箭头”;结束结束结束
输入参数
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“名称”,“我的应用”
指定我的程序
作为UI图的标题。
这里列出的属性是可用属性的子集。有关完整列表,请参见UI图属性.
WindowStyle
- - - - - -窗口样式
“正常”
(默认)|“模态”
|“alwaysontop”
窗口样式,指定为以下之一:
“正常”
—图形窗口独立于其他窗口,在显示图形时,其他窗口均可访问。“模态”
-该图形显示在所有现有图形窗口的顶部,具有正常的窗口样式,只要顶部图形存在并保持模态,它们就无法访问。但是,在模态图之后创建的任何新图形都将显示出来。当存在多个模态窗口时,最近创建的窗口将保持焦点并保持在所有其他窗口之上,直到它变得不可见,或返回到正常的窗口样式,或被删除。此时,焦点将恢复到上一次有焦点的窗口。
“alwaysontop”
-图形显示在所有其他窗口之上,包括模态图窗口和来自非matlab应用程序的窗口。其他窗户还可以打开。
请注意
这些是一些重要的特征WindowStyle
属性和一些推荐的最佳实践:
创建UI窗口时,始终指定
WindowStyle
财产。如果你还想设置调整
或位置
属性,然后设置WindowStyle
财产。你可以更改
WindowStyle
属性在任何时候,包括当图形是可见的并且包含子图形时。然而,在某些系统上,设置此属性可能会导致图形闪烁或消失,然后重新出现,这取决于系统对正常窗口和模态窗口的实现。为获得最佳视觉效果,请设置WindowStyle
属性在创建时或图形不可见时。
UI图模态窗口样式行为
当WindowStyle
设置为“模态”
, UI图形窗口会阻止在它之前创建的UI图形窗口中的键盘和鼠标交互可见
属性设置为“上”
.例如,在本例中,图3是相对于图2的模态,图2是相对于图1的模态。
Fig1 = ufigfigure (“名字”,“图1”);图一:WindowStyle =“模态”;Fig2 = ufigfigure (“名字”,“图2”);图二:WindowStyle =“模态”;Fig3 = ufigfigure (“名字”,图3的);图三:WindowStyle =“模态”;
类型创建的模态图形不同数字
函数,模态图形创建uifigure
函数不会阻止使用图形函数或MATLAB桌面创建的图形的访问。与MATLAB以外的应用程序窗口的交互也不会被阻塞。
打字Ctrl + C当模态图具有焦点时,将导致该图恢复为“正常”
WindowStyle
属性设置。这允许用户在命令行上输入。
用户界面图形WindowStyle
属性设置为“模态”
和可见
属性设置为“关闭”
在MATLAB使它们可见之前,它们不会表现为模态。因此,您可以隐藏一个模式窗口以供以后重用,而不是销毁它。
模态图不显示菜单子菜单、内置菜单或工具栏。但是,在模态图中创建菜单或更改WindowStyle
属性设置为“模态”
在带有菜单子的图形上。的菜单
对象存在,图形保留它们。如果重置UI图WindowStyle
财产“正常”
,菜单显示。
的名字
- - - - - -的名字
”
(默认)|特征向量|字符串标量
图形的名称,指定为字符向量或字符串标量。
例子:uifigure(“名字”,“结果”)
将图的名称设置为“结果”
.
的默认值的名字
属性是MATLAB应用程序的
.
位置
- - - - - -UI图的位置和大小,不包括边框和标题栏
[左下宽高]
UI图的位置和大小(不包括边框和标题栏),指定为窗体的四元素向量[左下宽高]
.
该表描述了向量中的每个元素。
元素 | 描述 |
---|---|
左 |
主显示的左边缘到UI图形窗口左内边缘的距离。在有多个监视器的系统上,此值可以为负值。 |
底 |
从主显示器的下边缘到UI图形窗口的内底边的距离。在有多个监视器的系统上,此值可以为负值。 |
宽度 |
UI图形的左右内边之间的距离。 |
高度 |
UI图形的顶部和底部内边缘之间的距离。 |
限制
目前,您不能通过
数字
对象创建。uifigure
函数打印
函数。如果您尝试这样做,MATLAB将抛出一个错误。有关更多信息,请参见在应用程序设计器中显示图形.
提示
使用图形根对象在根级别为其他类型的对象设置默认值。例如,将所有未来图形的默认颜色映射设置为
夏天
colormap。集(大的,“DefaultFigureColormap”夏天)
“删除”
关键字。集(大的,“DefaultFigureColormap”,“删除”)
版本历史
在R2016a中引入Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。