如何在 MATLAB 应用程序中创建 GUI 按钮?
在 MATLAB 应用程序环境中,我们无需具备适当的编码知识即可开发 GUI(图形用户界面)应用程序。因此,MATLAB 应用程序构建允许我们创建专业的应用程序,而无需编写代码,只需通过拖放即可。
在本文中,我们将讨论如何在 MATLAB 应用程序中创建 GUI 按钮。下面介绍了在 MATLAB 应用程序中创建 GUI 按钮的分步过程。
在 MATLAB 应用程序中创建 GUI 按钮的步骤
我们可以按照以下步骤在 MATLAB 应用程序中创建 GUI 按钮:
步骤 (1)– 打开 MATLAB 命令窗口。
步骤 (2)– 启动 MATLAB App Designer。
有以下两种方法可以在 MATLAB 中打开应用程序设计器:
在 MATLAB 命令窗口中输入"appdesigner"命令并按 Enter。
单击 APPS 选项卡下的 Design App 选项。
步骤 (3)– 在 App Designer 窗口中,选择"New"以创建新应用程序。它将提供一个空白画布来设计 GUI 应用程序。
步骤 (4) – 从 App Designer 窗口左侧显示的工具箱中拖放一个"按钮"。
步骤 (5) – 根据您的需要自定义按钮。为此,使用 App Designer 窗口右侧的组件浏览器来更改按钮的属性。
步骤 (6) – 通过为按钮创建回调函数使按钮发挥作用。为此,右键单击按钮。然后,单击上下文菜单中的"回调"选项。然后,单击"添加 ButtonPushedFcn 回调"。这将在 MATLAB 编辑器中打开一个新的命令窗口,用于编写按钮的回调函数。
步骤 (7)– 在此函数内编写要在单击按钮时执行的 MATLAB 代码。
步骤 (8)– 最后,通过单击 App Designer 中的"保存"选项保存应用程序。
步骤 (9)– 单击 App Designer 中的"运行"选项以执行应用程序。此应用程序窗口将包含按钮。
这就是我们如何使用 MATLAB 应用程序设计器在我们的 MATLAB 应用程序中创建 GUI 按钮的方法。
现在,让我们举一个例子,在 MATLAB 应用程序中创建一个 GUI 按钮,单击该按钮时将两个数字相乘。
在 MATLAB 应用程序中创建一个 GUI 按钮以将两个数字相乘
在 MATLAB 应用程序中创建一个 GUI 按钮以在单击该按钮时将两个数字相乘的分步过程如下所述:
步骤 (1)- 打开 MATLAB 并在 APPS 选项卡中启动 MATLAB App Designer。

步骤 (2)- 创建一个新的银行应用程序。

步骤 (3)− 从组件库中拖放所需的组件。在此示例中,我们需要以下组件:
三个数字编辑字段:两个用于输入两个数字,一个用于获取乘积。
一个按钮:用于执行乘法。

步骤 (4)- 自定义组件,例如向字段和按钮添加所需的标签。

步骤 (5)- 向按钮添加回调函数。为此,右键单击按钮,然后单击"回调",然后单击"添加 ButtonPushedFcn 回调"。 MATLAB 编辑器中将打开一个新选项卡来编写代码。

步骤 (6)− 编写指定按钮功能的 MATLAB 代码。

对于此示例,我们将编写以下代码:
% 处理组件事件的回调 methods (Access = private) % 按钮按下功能:ClicktoMultiplyButton function ClicktoMultiplyButtonPushed(app, event) % 从数字字段 1 获取输入 A = app.AEditField.Value; % 从数字字段 2 获取输入 B = app.BEditField.Value; % 计算总和 P = A * B; % 显示输出 app.PEditField.Value = P; end end
步骤 (7)- 单击应用程序设计器中的"保存"按钮保存应用程序。

步骤 (8)- 单击"运行"按钮执行应用程序。

步骤 (9)- 输入参数并单击"单击以乘以"按钮以执行按钮的功能。

这样,我们就可以使用 MATLAB App Designer 在 MATLAB App 中轻松创建 GUI 按钮。
按钮的 MATLAB 代码
以下是上述 GUI 按钮应用程序的完整 MATLAB 代码。
示例
classdef product < matlab.apps.AppBase % 与应用程序组件对应的属性 properties (Access = public) UIFigure matlab.ui.Figure ClicktoMultiplyButton matlab.ui.control.Button PEditField matlab.ui.control.NumericEditField PEditFieldLabel matlab.ui.control.Label BEditField matlab.ui.control.NumericEditField BEditFieldLabel matlab.ui.control.Label AEditField matlab.ui.control.NumericEditField AEditFieldLabel matlab.ui.control.Label end % 处理组件事件的回调 methods (Access = private) % 按钮按下功能:ClicktoMultiplyButton function ClicktoMultiplyButtonPushed(app, event) % 从数字字段 1 获取输入 A = app.AEditField.Value; % 从数字字段 2 获取输入 B = app.BEditField.Value; % 计算总和 P = A * B; % 显示输出 app.PEditField.Value = P; end end % 组件初始化 methods (Access = private) % 创建 UIFigure 和组件 function createComponents(app) % 创建 UIFigure 并隐藏,直到所有组件都创建完毕 app.UIFigure = uifigure('Visible', 'off'); app.UIFigure.Position = [100 100 640 480]; app.UIFigure.Name = 'MATLAB App'; % 创建 AEditFieldLabel app.AEditFieldLabel = uilabel(app.UIFigure); app.AEditFieldLabel.HorizontalAlignment = 'right'; app.AEditFieldLabel.Position = [214 384 25 22]; app.AEditFieldLabel.Text = 'A'; % 创建 AEditField app.AEditField = uieditfield(app.UIFigure, 'numeric'); app.AEditField.Position = [254 384 100 22]; % 创建 BEditFieldLabel app.BEditFieldLabel = uilabel(app.UIFigure); app.BEditFieldLabel.HorizontalAlignment = 'right'; app.BEditFieldLabel.Position = [217 333 25 22]; app.BEditFieldLabel.Text = 'B'; % 创建 BEditField app.BEditField = uieditfield(app.UIFigure, 'numeric'); app.BEditField.Position = [257 333 100 22]; % 创建 PEditFieldLabel app.PEditFieldLabel = uilabel(app.UIFigure); app.PEditFieldLabel.HorizontalAlignment = 'right'; app.PEditFieldLabel.Position = [217 276 25 22]; app.PEditFieldLabel.Text = 'P'; % 创建 PEditField app.PEditField = uieditfield(app.UIFigure, 'numeric'); app.PEditField.Position = [257 276 100 22]; % 创建 ClicktoMultiplyButton app.ClicktoMultiplyButton = uibutton(app.UIFigure, 'push'); app.ClicktoMultiplyButton.ButtonPushedFcn = createCallbackFcn(app, @ClicktoMultiplyButtonPushed, true); app.ClicktoMultiplyButton.Position = [257 230 100 22]; app.ClicktoMultiplyButton.Text = 'Click to Multiply'; % 创建所有组件后显示图形 app.UIFigure.Visible = 'on'; end end % 应用程序创建和删除 methods (Access = public) % 构建应用程序 function app = product % 创建 UIFigure 和组件 createComponents(app) % 使用 App Designer 注册应用程序 registerApp(app, app.UIFigure) if nargout == 0 clear app end end % 应用程序删除前执行的代码 function delete(app) % 当应用程序被删除时删除 UIFigure delete(app.UIFigure) end end end
输出

结论
因此,这就是在 MATLAB 应用程序中创建 GUI 按钮的全部内容。在本文中,我们解释了在 MATLAB 应用程序中创建 GUI 按钮的步骤。此外,我们还借助示例解释了这一点,其中我们在 MATLAB 应用程序中创建了一个按钮来将两个数字相乘。