主要内容

uifigure

为设计应用程序创建图形

描述

例子

无花果= uifigure创建用于构建用户界面的图,并返回数字对象。这是App Designer使用的图形类型。

例子

无花果= uifigure (名称,值使用一个或多个指定图属性名称,值对参数。

例子

全部折叠

图= ufigfig;

空白的UI图窗口。

创建具有特定标题的UI图形。

图= ufigfigure (“名字”“策划的结果”);

界面图窗口。窗口顶部的标题是“绘图结果”。

获取图形的位置、宽度和高度。

p =图
Ans = 680 678 560 420

创建一个默认的UI图。

图= ufigfig;

空白的UI图窗口。

获取图形的位置、宽度和高度。

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回调函数,在用户试图关闭窗口时打开模态确认对话框。

复制并粘贴此代码到MATLAB中®编辑器,然后运行closeFig

函数closeFig = ufigfig (“位置”,[100 100 425 275]);fig.CloseRequestFcn = @(src,event)my_closereq(src);函数My_closereq(图)select = uiconfirm(图,“关上人像窗口?”...“确认”);开关选择情况下“好吧”删除(图)情况下“取消”返回结束结束结束

单击图关闭按钮。打开确认对话框。

确认对话框。对话框提示关闭图形窗口?旁边有一个问号图标。底部有OK和Cancel按钮。

当鼠标悬停在按钮上时,更改显示的鼠标指针符号。

这个程序文件,叫做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图属性

窗口样式,指定为以下之一:

  • “正常”—图形窗口独立于其他窗口,在显示图形时可访问其他窗口。

  • “模态”-图显示在所有现有的正常窗口样式的图形窗口的顶部,使它们无法访问,只要顶部的图形存在并保持模态。但是,在模态图之后创建的任何新图都将显示出来。

    当存在多个模态窗口时,最近创建的窗口将保持焦点并保持在所有其他窗口之上,直到它变得不可见,或返回正常的窗口样式,或被删除。这时,焦点会回到上一次有焦点的窗口。

  • “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图的顶部和底部内边缘之间的距离。

限制

提示

  • 使用图形根对象为其他类型的对象设置根级别的默认值。例如,将所有未来图形的默认色彩映射设置为夏天colormap。

    集(大的,“DefaultFigureColormap”夏天)
    要将属性恢复为原始的MATLAB默认值,请使用“删除”关键字。
    集(大的,“DefaultFigureColormap”“删除”
    有关设置默认值的详细信息,请参见默认属性值

版本历史

在R2016a中介绍

全部展开