uifigure
为设计应用程序创建图形
描述
例子
创建默认UI图
图= ufigfig;
设置和访问属性
创建具有特定标题的UI图形。
图= ufigfigure (“名字”,“策划的结果”);
获取图形的位置、宽度和高度。
p =图
Ans = 680 678 560 420
改变图形尺寸
创建一个默认的UI图。
图= ufigfig;
获取图形的位置、宽度和高度。
fig.Position
Ans = 681 559 560 420
这意味着图形窗口位于主显示器左下角的右侧681像素和上方559像素处,宽560像素,高420像素。
通过调整位置向量的第三和第四个元素,将图形的宽度和高度减半。
fig.Position(3:4) = [280 210];
创建模态UI图
创建两个UI图窗口。通过指定来阻塞图1中的交互“模态”
随着WindowStyle
属性值。注意,在关闭图2之前,您不能与图1交互。
图1 = uifigfigure (“名字”,“图1”);图一:位置= [500 500 370 270];图2 = uifigfigure (“名字”,“图2”);图二:位置= [540 450 370 270];图二:WindowStyle =“模态”;
代码CloseRequestFcn确认关闭UI图
代码CloseRequestFcn
回调函数,在用户试图关闭窗口时打开模态确认对话框。
复制并粘贴此代码到MATLAB中®编辑器,然后运行closeFig
.
函数closeFig = ufigfig (“位置”,[100 100 425 275]);fig.CloseRequestFcn = @(src,event)my_closereq(src);函数My_closereq(图)select = uiconfirm(图,“关上人像窗口?”,...“确认”);开关选择情况下“好吧”删除(图)情况下“取消”返回结束结束结束
单击图关闭按钮。打开确认对话框。
更改鼠标指针符号
当鼠标悬停在按钮上时,更改显示的鼠标指针符号。
这个程序文件,叫做setMousePointer.m
,向您展示如何:
创建一个UI图,当鼠标移动到按钮上时执行自定义代码。要做到这一点,请使用
@
运算符来赋值mouseMoved
的函数句柄。WindowButtonMotionFcn
属性。创建一个按钮并指定其坐标和标签。
创建一个回调函数
mouseMoved
使用当鼠标移动到按钮上时要执行的自定义代码。在命令格式中,查询CurrentPoint
属性确定鼠标指针坐标。设置指针
财产“手”
如果指针坐标在按钮坐标内。
运行setMousePointer
.然后将鼠标移动到按钮上,可以看到鼠标指针符号从箭头变为手形。
函数setMousePointer (setMousePointer)“位置”,[500 500 375 275]);fig.WindowButtonMotionFcn = @mouseMoved;BTN = uibutton(图);btnX = 50;btnY = 50;btnWidth = 100;btnHeight = 22;btn。位置= [btnX btnY btnWidth btnHeight];btn。Text =提交更改的;函数mouemoved (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图窗口中的键盘和鼠标交互,该UI图窗口具有可见
属性设置为“上”
.例如,在这个例子中,图3相对于图2是模态的,图2相对于图1是模态的。
图1 = uifigfigure (“名字”,“图1”);图一:WindowStyle =“模态”;图2 = uifigfigure (“名字”,“图2”);图二:WindowStyle =“模态”;图3 = uifigfigure (“名字”,图3的);图三:WindowStyle =“模态”;
方法创建的模态图不同数字
函数创建的模态图uifigure
函数不会阻止访问用图形函数或MATLAB桌面创建的图形。与MATLAB以外的应用程序窗口的交互也不会被阻塞。
打字Ctrl + C当模态图有焦点时,会使该图恢复到a“正常”
WindowStyle
属性设置。这允许用户在命令行上输入。
的UI图形WindowStyle
属性设置为“模态”
和可见
属性设置为“关闭”
直到MATLAB使它们可见,它们才表现为模态。因此,您可以隐藏一个模式窗口以便以后重用,而不是销毁它。
模态图不显示菜单子菜单、内置菜单或工具栏。但是,在模态图中创建菜单或更改WindowStyle
属性设置为“模态”
在一个与菜单孩子的数字。的菜单
对象存在,而人物保留了它们。如果重置UI图WindowStyle
财产“正常”
,显示菜单。
的名字
- - - - - -的名字
''
(默认)|特征向量|字符串标量
图形的名称,指定为字符向量或字符串标量。
例子:uifigure(“名字”,“结果”)
将图的名称设置为“结果”
.
的默认值的名字
属性是MATLAB应用程序的
.
位置
- - - - - -UI图的位置和大小,不包括边框和标题栏
[左底宽高]
UI图(不包括边框和标题栏)的位置和大小,指定为表单的四元素向量[左底宽高]
.
这个表描述了向量中的每个元素。
元素 | 描述 |
---|---|
左 |
从主显示的左边缘到UI图窗口的内左边缘的距离。对于有多个监视器的系统,该值可能为负值。 |
底 |
从主显示的底部边缘到UI图形窗口的内部底部边缘的距离。对于有多个监视器的系统,该值可能为负值。 |
宽度 |
UI图的左右内边缘之间的距离。 |
高度 |
UI图的顶部和底部内边缘之间的距离。 |
限制
目前,您不能通过
数字
对象创建的。uifigure
函数到打印
函数。如果您尝试这样做,MATLAB会抛出一个错误。有关更多信息,请参见在应用程序设计器中显示图形.
提示
使用图形根对象为其他类型的对象设置根级别的默认值。例如,将所有未来图形的默认色彩映射设置为
夏天
colormap。集(大的,“DefaultFigureColormap”夏天)
“删除”
关键字。集(大的,“DefaultFigureColormap”,“删除”)
版本历史
在R2016a中介绍MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。