uicontrol(User Interface Control)是 MATLAB 用于创建交互式图形界面的函数。通过它,你可以在图形窗口(Figure)中放置各种控制框,如按钮、滑条、文本框等,并通过鼠标激活它们执行特定的操作。
1. 基本语法
2. 核心属性详解
|
属性名 |
说明 |
常见取值 |
|
Style |
控件类型(最核心) |
pushbutton (按钮), slider (滑条), radiobutton (单选), checkbox (复选), edit (可编辑文本), text (静态文本), listbox (列表框), popupmenu (弹出菜单), frame (框架), togglebutton (状态按钮) |
|
String |
显示的标签文本 |
字符串、字符串数组(列表/菜单项)、或由 | 分隔的字符串 |
|
Position |
位置与大小 |
[左 底部 宽度 高度],单位由 Units 决定 |
|
Callback |
回调函数 |
当用户点击或触发控件时执行的 MATLAB 字符串命令 |
|
Value |
当前状态值 |
单/复选框选中时为 Max,未选中为 Min;滑条表示当前数值;菜单/列表表示选中项索引 |
|
BackgroundColor |
背景颜色 |
RGB 向量(如 [1 1 1] 为白色)或颜色字符 |
|
ForegroundColor |
前景(文字)颜色 |
同上,默认为黑色 |
|
Enable |
启用状态 |
on (正常), off (变灰不可用), inactive (不可用但不显灰色) |
|
FontSize |
字体大小 |
数字,单位由 FontUnits 决定 |
|
TooltipString |
悬停提示 |
鼠标停留在控件上时显示的提示文字 |
3. 常见控件示例
例 1:关闭按钮 (Push Button)
典型的触发式动作。
例 2:复选框 (Check Box)
用于切换某种状态(如坐标轴框线的显示)。
例 3:滑块 (Slider)
用于在一定范围内选择数值。
例 4:组合框架 (Frame)
用于视觉上对控件进行分组。
4. 关键技巧与注意事项
-
单位设置 (Units): 默认通常是 pixels(像素)。如果你希望窗口缩放时控件也随之缩放,建议将 Units 设置为 normalized(归一化,范围 0 到 1)。
-
回调中的 gcbo: 在 Callback 字符串中,使用 gcbo 可以直接获取当前触发回调的控件句柄,避免使用全局变量或硬编码句柄名。
-
单选按钮的互斥性: MATLAB 的 radiobutton 默认不是互斥的。若要实现“选 A 必不选 B”,需要在每个按钮的回调函数中手动设置其他按钮的 Value 为 0。
-
滑块步长 (SliderStep): 该属性是一个两元素向量 [小步长 大步长]。默认为 [0.01 0.1],即点击箭头移动范围的 1%,点击滑槽移动 10%。
附:常用颜色参考 (RGB)
-
白色: [1 1 1]
-
灰色: [.8 .8 .8]
-
蓝色: [0 0 1]
-
黄色: [1 1 0]
(责任编辑:泉水) |