MATLAB中uibutton函数用法

目录

语法

说明

示例

创建普通按钮

创建状态按钮

设置和访问按钮属性值

编写响应以下操作的代码:点击按钮


        uibutton函数的功能是创建普通按钮或状态按钮组件。

语法

btn = uibutton
btn = uibutton(parent)
btn = uibutton(style)
btn = uibutton(parent,style)
btn = uibutton(___,Name,Value)

说明

        btn = uibutton 在新图窗中创建一个普通按钮,并返回 Button 对象。MATLAB® 调用 uifigure 函数来创建该图窗。

        btn = uibutton(parent) 在指定的父容器中创建一个按钮。父容器可以是使用 uifigure 函数创建的图窗或其子容器之一。

        btn = uibutton(style) 创建指定样式的按钮。按钮样式可以是 "push" 或 "state"。

        btn = uibutton(parent,style) 在指定的父容器中创建指定样式的按钮。

        btn = uibutton(___,Name,Value) 创建一个按钮,其属性由一个或多个名称-值参数指定。例如,使用 BackgroundColor 属性指定按钮背景颜色。可将此选项与上述语法中的任何输入参数组合一起使用。

示例

创建普通按钮

        在 UI 图窗中创建一个普通按钮。

fig = uifigure;
b = uibutton(fig);

如图所示:

创建状态按钮

        在 UI 图窗中创建一个状态按钮。

fig = uifigure;
b = uibutton(fig,"state");

如图所示:

点击该按钮。点击该按钮后,它将保持按下状态。如图所示:

设置和访问按钮属性值

        在 UI 图窗中创建一个状态按钮,并通过指定属性值来自定义其外观。

fig = uifigure;
b = uibutton(fig,"state", ...
    "Text","Play", ...
    "Icon","play.png", ...
    "IconAlignment","top", ...
    "Position",[100 100 50 50]);

如图所示:

确定该状态按钮是否处于按下状态。

b.Value
ans = logical
   0

以编程方式更新按钮值,使其以按下状态出现。

b.Value = true;

如图所示:

编写响应以下操作的代码:点击按钮

创建一个 App,当 App 用户按下按钮时,它会绘制一些数据。

在名为 plotApp.m 的文件中,编写实现该 App 的函数:

  • 创建一个 UI 图窗和一个网格布局管理器,以对该 App 进行布局。

  • 在网格布局管理器中创建 UI 坐标区和一个按钮。

  • 编写名为 plotButtonPushed 的回调函数,该函数在 UI 坐标区中绘制一些数据,并将该函数赋给 ButtonPushedFcn 回调属性。

Programmatically。

function plotApp
fig = uifigure;
g = uigridlayout(fig,[2 3]);
g.RowHeight = {'1x','fit'};
g.ColumnWidth = {'1x','fit','1x'};


ax = uiaxes(g);
ax.Layout.Row = 1;
ax.Layout.Column = [1 3];
b = uibutton(g, ...
    "Text","Plot Data", ...
    "ButtonPushedFcn", @(src,event) plotButtonPushed(ax));
b.Layout.Row = 2;
b.Layout.Column = 2;
end

function plotButtonPushed(ax)
x = linspace(0,2*pi,100);
y = sin(x);
plot(ax,x,y)
end

运行 plotApp 函数。点击按钮以绘制数据。如图所示:

参数说明

style — 按钮的样式

按钮的样式,指定为以下值之一:

  • "push" - 点击一次,按钮将被按下并释放。

  • "state" - 点击一次,按钮将保持按下或释放状态,直到再次点击为止。

parent — 父容器

        父容器,指定为使用 uifigure 函数创建的 Figure 对象或其子容器之一:Tab、Panel、ButtonGroup 或 GridLayout。如果不指定父容器,MATLAB 会调用 uifigure 函数创建新 Figure 对象充当父容器。

### MATLAB App Designer 中编写回调函数的方法 在 MATLAB App Designer 中,回调函数用于响应用户的交互操作并触发相应的逻辑处理。以下是关于如何在 MATLAB App Designer 中编写回调函数的具体方法: #### 1. 使用设计视图中的组件库创建回调 当通过设计视图的组件库向应用界面添加控件时,可以直接为这些控件分配默认的回调函数[^3]。 例如,在按钮上双击会自动打开代码编辑器,并生成一个 `ButtonPushedCallback` 函数模板。 ```matlab function ButtonPushed(app, event) % 在这里编写按钮被点击后的逻辑 end ``` #### 2. 自定义回调函数 如果需要为特定事件绑定自定义回调函数,则可以通过以下方式实现: - 打开 **属性检查器** (Property Inspector),找到目标控件。 - 定位到对应的回调字段(如 `ValueChangedFcn` 或者 `SelectionChangedFcn`),手动指定回调函数名或直接编辑回调逻辑[^5]。 #### 3. StartupFcn 回调函数的应用 `StartupFcn` 是一种特殊的初始化回调函数,它会在应用程序启动时运行一次。这非常适合用来加载数据、设置初始状态或其他预配置工作[^4]。 ```matlab function startupFcn(app) % 初始化变量或加载外部资源 app.Data = load('exampleData.mat'); end ``` #### 4. 动态创建控件及其回调 对于动态生成的 UI 控件,无法像静态控件那样简单地拖拽关联回调。此时需借助程序化的方式显式设定回调行为。 ```matlab button = uibutton(app.UIFigure, 'push', ... 'Position', [200 200 100 22], ... 'Text', 'Dynamic Button'); set(button, 'ButtonPushedFcn', @(src,event) dynamicButtonCallback(src, event)); function dynamicButtonCallback(src, event) disp('This is from dynamically created button.'); end ``` #### 5. 路径与基础支持类的位置说明 所有的 UI 组件和它们的行为都基于 `%MATLAB_ROOT%\toolbox\matlab\uicomponents\uicomponents` 下的基础类构建而成。因此理解这些底层机制有助于更灵活地扩展功能[^2]。 --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值