🔗运行环境: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]
。
十六进制颜色代码是字符向量或字符串标量,以井号 (#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码'#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
-坐标区内容的透明度映射
坐标区内容的透明度映射,指定为由介于0
和1
(包含这两个边界值)之间的值组成的向量。该向量的大小可以是 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
是数字。
NumberTitle
和IntegerHandle
属性都必须设置为'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函数创建可视化图窗》对你有帮助,请点赞、收藏,并留下你的观点哦!