失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Matlab GUI编程技巧(十):ui figure函数创建可视化图窗

Matlab GUI编程技巧(十):ui figure函数创建可视化图窗

时间:2021-01-03 14:43:22

相关推荐

Matlab GUI编程技巧(十):ui figure函数创建可视化图窗

🔗运行环境:Matlab🚩撰写作者:左手の明天🥇精选专栏:《python》🔥推荐专栏:《算法研究》

💗 大家好🤗🤗🤗,我是左手の明天!💗

📆 最近更新: 年 5 月 26 日,左手の明天的第247篇原创博客

📚更新于专栏:Matlab GUI编程技巧

目录

🚩UI Figure 属性

⭐️窗口外观

💗Color-背景色

💗WindowStyle-窗口样式

💗WindowState-窗口状态

⭐️位置和大小

💗Position-UI 图窗的位置和大小,不包括边框和标题栏

💗Units-测量单位

💗Resize-可调整大小

⭐️绘图

💗Colormap-UIAxes内容的颜色图

💗Alphamap-坐标区内容的透明度映射

⭐️鼠标指针

💗Pointer-指针符号

⭐️标识符

💗Name-名称

💗Icon-图标源或文件

💗NumberTitle-使用带编号的标题

🚩创建可视化图窗

⭐️语法

⭐️示例

💗创建默认的 UI 图窗

💗设置和访问属性

💗更改图窗大小

💗创建模态 UI 图窗

💗编写 CloseRequestFcn 以确认关闭 UI 图窗

UI 图窗是在 App 设计工具中或通过uifigure函数以编程方式创建 App 的容器。可以通过属性控制 UI 图窗的外观和行为。使用圆点表示法引用特定的对象和属性:

fig = uifigure;fig.Name = 'My App';

🚩UI Figure 属性

⭐️窗口外观

💗Color-背景色

背景颜色,指定为 RGB 三元组、十六进制颜色代码。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于[0,1]范围内,例如[0.4 0.6 0.7]

十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是0F。这些值不区分大小写。因此,颜色代码'#FF8800''#ff8800''#F80''#f80'是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

💗WindowStyle-窗口样式

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

'normal'- 此图窗窗口独立于其他窗口,并且在显示图窗时可以访问其他窗口。

'modal'- 该图窗以正常窗口样式显示在所有现有图窗窗口的上方,并使这些窗口变得无法访问(只要顶层图窗存在并保持模态)。但是,任何在模态图窗之后创建的新图窗都会显示出来。

'alwaysontop'- 图窗显示在所有其他窗口的顶部,包括模态图窗窗口和来自非 MATLAB 应用程序的窗口。其他窗口仍可访问。

UI 图窗模态窗口样式行为

WindowStyle设置为'modal'时,UI 图窗窗口会阻止在它之前创建的 UI 图窗窗口中的键盘和鼠标交互,并将其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';

💗WindowState-窗口状态

窗口状态,指定为下列值之一:

'normal'- 窗口显示为正常状态。

'minimized'- 窗口被折叠,但您仍可以执行命令来获取或设置其属性、添加子级或在窗口中创建绘图。

'maximized'- 窗口填满屏幕。操作系统提供的最小化、还原和关闭按钮出现在窗口的角落。如果正常状态下的窗口包含菜单,则它们在此状态下也会显示。

'fullscreen'- 窗口填满屏幕。但是,操作系统提供的最小化、还原和关闭按钮将被隐藏。如果正常状态下的窗口包含菜单,则它们在此状态下也会显示。

⭐️位置和大小

💗Position-UI 图窗的位置和大小,不包括边框和标题栏

UI 图窗的位置和大小,不包括边框和标题栏,指定为[left bottom width height]形式的四元素向量。

💗Units-测量单位

测量单位,指定为下表中的值之一。

💗Resize-可调整大小

可调整大小的 UI 图窗,指定为'on''off',或者指定为数值或逻辑值1(true) 或0(false)。值'on'等效于true'off'等效于false

当此属性设置为'on'时,UI 图窗可调整大小。否则将无法调整其大小。

⭐️绘图

💗Colormap-UIAxes内容的颜色图

UIAxes内容的颜色图,指定为由 RGB(红色、绿色、蓝色)三元组组成的m×3数组,这些三元组定义m种单独的颜色。

示例:uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0])将颜色图设置为三种颜色:品红色、蓝色和黄色。

MATLAB 按行号访问这些颜色。

💗Alphamap-坐标区内容的透明度映射

坐标区内容的透明度映射,指定为由介于01(包含这两个边界值)之间的值组成的向量。该向量的大小可以是 m×1 或 1×m。MATLAB 通过 alpha 值在向量中的索引访问 alpha 值。Alphamap 可以为任意长度。

⭐️鼠标指针

💗Pointer-指针符号

指针符号,指定为下表中的值之一,或指定为'custom'。符号的外观与操作系统相关。

⭐️标识符

💗Name-名称

图窗的名称,指定为字符向量或字符串标量。

示例:uifigure('Name','Results')将图窗的名称设置为'Results'

💗Icon-图标源或文件

图标源或文件,指定为字符向量、字符串标量或m×n×3 真彩色图像数组。如果指定文件名,它可以是 MATLAB 路径中的图像文件名或图像文件的完整路径。

支持的图像格式包括 JPEG、PNG、GIF 和m×n×3 真彩色图像数组。

如果没有足够的空间显示完整大小的图标,MATLAB 会缩小图像以适应空间。

示例:'icon.png'指定 MATLAB 路径中的图标文件。

示例:'C:\Documents\icon.png'指定图像文件的完整路径。

示例:fig = uifigure('Icon','peppers.png')使用指定的图标图像文件创建一个 UI 图窗。

💗NumberTitle-使用带编号的标题

指定为'off''on',或者指定为数值或逻辑值1(true) 或0(false)。值'on'等效于true'off'等效于false

将此属性设置为'on'时,UI 图窗的标题包含短语'Figure n',其中n是数字。

NumberTitleIntegerHandle属性都必须设置为'on'才能显示标题中的数字。

🚩创建可视化图窗

⭐️语法

fig= uifigure创建一个用于构建用户界面的图窗并返回Figure对象。这是 App 设计工具使用的图窗类型。fig= uifigure(Name,Value)使用一个或多个Name,Value对组参数指定图窗属性。

⭐️示例

💗创建默认的 UI 图窗

fig = uifigure;

💗设置和访问属性

创建具有特定标题的 UI 图窗

fig = uifigure('Name','Plotted Results');

获取该图窗的位置、宽度和高度

p = fig.Positionans =680 678 560 420

💗更改图窗大小

创建默认 UI 图窗。

fig = uifigure;

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

fig.Positionans =681 559 560 420

这意味着图窗窗口位于主显示画面左下角的右侧 681 像素和上方 559 像素处,宽 560 像素,高 420 像素。

通过调整位置向量的第三个和第四个元素,将图窗宽度和高度减半。

fig.Position(3:4) = [280 210];

💗创建模态 UI 图窗

创建两个 UI 图窗窗口。通过将图窗 2 的WindowStyle属性值指定为'modal'来阻止图窗 1 中的交互。请注意,在图窗 2 关闭之前,您无法与图窗 1 交互。

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 以确认关闭 UI 图窗

编写CloseRequestFcn回调,以便在用户试图关闭窗口时打开模态“确认”对话框。

function closeFigfig = uifigure('Position',[100 100 425 275]);fig.CloseRequestFcn = @(src,event)my_closereq(src);function my_closereq(fig)selection = uiconfirm(fig,'Close the figure window?',...'Confirmation');switch selectioncase 'OK'delete(fig)case 'Cancel'returnendendend

点击图窗中的关闭按钮。“确认”对话框随即打开。

💗更改鼠标指针符号

更改将鼠标悬停在普通按钮上时显示的鼠标指针符号。

此程序文件名为setMousePointer.m,该文件可以做如下说明:

创建一个 UI 图窗,该图窗在鼠标移至按钮上时执行自定义代码。为此,使用@运算符将mouseMoved函数句柄赋给该图窗的WindowButtonMotionFcn属性。

创建一个普通按钮,并指定其坐标和标签。

创建一个名为mouseMoved的回调函数,其中包含当鼠标移到该按钮上时要执行的自定义代码。在函数中,查询CurrentPoint属性以确定鼠标指针坐标。如果指针坐标在普通按钮坐标内,则将Pointer属性设置为'hand'

运行setMousePointer。然后将鼠标移到该普通按钮上,以查看鼠标指针符号从箭头变为手形。

function setMousePointerfig = 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';elsefig.Pointer = 'arrow';endendend

创建用于设计 App 的图窗 - MATLAB uifigure- MathWorks 中国

🌟全文共5112个字,码字总结不易,老铁们来个三连:点赞、关注、评论🌟

🌟作者:左手の明天🌟

🌟原创不易,转载请联系作者并注明出处🌟

如果觉得《Matlab GUI编程技巧(十):ui figure函数创建可视化图窗》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。