MATLAB 如何创建GUI按钮
在MATLAB应用程序环境中,我们可以开发一个GUI(图形用户界面)应用程序,而不需要对编码具备专业知识。因此,MATLAB应用程序构建允许我们创建专业的应用程序,而无需编写代码,只需拖放即可。
在本文中,我们将讨论如何在MATLAB应用程序中创建一个GUI按钮。下面详细解释了在MATLAB应用程序中创建GUI按钮的逐步过程。
在MATLAB应用程序中创建GUI按钮的步骤
我们可以按照以下步骤在MATLAB应用程序中创建一个GUI按钮:
第一步 - 打开MATLAB命令窗口。
第二步 - 启动MATLAB App Designer。
有以下两种方法可以在MATLAB中打开应用程序设计器:
- 在MATLAB命令窗口中输入’appdesigner’命令,然后按回车键。
-
在APPS选项卡下点击“设计应用程序”选项。
第三步 - 在App Designer窗口中选择“新建”以创建一个新的应用程序。它将提供一个空白的画布来设计GUI应用程序。
第四步 - 从App Designer窗口左侧显示的工具箱中拖放一个“按钮”。
第五步 - 根据需要自定义按钮。为此,使用App Designer窗口右侧的组件浏览器来更改按钮的属性。
第六步 - 通过为按钮创建回调函数使按钮具有功能。为此,右键单击按钮,然后在上下文菜单中单击“Callbacks”选项。然后,点击“Add ButtonPushedFcn回调”。这将在MATLAB编辑器中打开一个新的命令窗口,以编写按钮的回调函数。
第七步 - 在此函数中编写希望在按钮被点击时执行的MATLAB代码。
第八步 - 最后,通过在App Designer中点击“保存”选项来保存应用程序。
第九步 - 在App Designer中点击“运行”选项来执行应用程序。这个应用程序窗口将包含按钮。
这就是我们如何使用MATLAB应用程序设计器在MATLAB应用程序中创建GUI按钮的方法。
现在,让我们举一个例子,在MATLAB应用程序中创建一个GUI按钮,当点击时将两个数相乘。
在MATLAB应用程序中创建一个用于乘法的GUI按钮
以下是在当点击时在MATLAB应用程序中创建一个GUI按钮来执行两个数相乘的逐步过程:
第一步 – 打开MATLAB并在APPS选项卡中启动MATLAB App Designer。
第二步 - 创建一个新的银行应用程序。
第三步 - 从组件库中拖放所需组件。在本例中,我们需要以下组件:
- 三个数字编辑字段:两个用于输入两个数字,一个用于获取乘积。
-
一个按钮:用于执行乘法。
第四步 - 自定义组件,例如为字段和按钮添加所需的标签。
第五步 - 将回调函数添加到按钮中。为此,请右键单击按钮,然后单击“回调”,再点击“添加 ButtonPushedFcn 回调函数”。MATLAB编辑器将打开一个新的选项卡以编写代码。
第六步 − 编写MATLAB代码,指定按钮的功能。
例如,我们将编写以下代码:
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: ClicktoMultiplyButton
function ClicktoMultiplyButtonPushed(app, event)
% Taking input from num field 1
A = app.AEditField.Value;
% Taking input from num field 2
B = app.BEditField.Value;
% Calculating Sum
P = A * B;
% Displaying Output
app.PEditField.Value = P;
end
end
第七步: − 在应用程序设计中,点击“保存”按钮以保存应用程序。
第八步 − 点击“运行”按钮执行应用程序。
第九步 − 输入参数,并点击“点击乘法”按钮来执行按钮的功能。
这样我们就可以使用MATLAB App Designer在MATLAB应用中轻松创建一个图形用户界面按钮。
MATLAB按钮的代码
以下是上述GUI按钮应用程序的完整MATLAB代码。
示例
classdef product < matlab.apps.AppBase
% Properties that correspond to app components
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
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: ClicktoMultiplyButton
function ClicktoMultiplyButtonPushed(app, event)
% Taking input from num field 1
A = app.AEditField.Value;
% Taking input from num field 2
B = app.BEditField.Value;
% Calculating Sum
P = A * B;
% Displaying Output
app.PEditField.Value = P;
end
end
% Component initialization
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure and hide until all components are created
app.UIFigure = uifigure('Visible', 'off');
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'MATLAB App';
% Create AEditFieldLabel
app.AEditFieldLabel = uilabel(app.UIFigure);
app.AEditFieldLabel.HorizontalAlignment = 'right';
app.AEditFieldLabel.Position = [214 384 25 22];
app.AEditFieldLabel.Text = 'A';
% Create AEditField
app.AEditField = uieditfield(app.UIFigure, 'numeric');
app.AEditField.Position = [254 384 100 22];
% Create BEditFieldLabel
app.BEditFieldLabel = uilabel(app.UIFigure);
app.BEditFieldLabel.HorizontalAlignment = 'right';
app.BEditFieldLabel.Position = [217 333 25 22];
app.BEditFieldLabel.Text = 'B';
% Create BEditField
app.BEditField = uieditfield(app.UIFigure, 'numeric');
app.BEditField.Position = [257 333 100 22];
% Create PEditFieldLabel
app.PEditFieldLabel = uilabel(app.UIFigure);
app.PEditFieldLabel.HorizontalAlignment = 'right';
app.PEditFieldLabel.Position = [217 276 25 22];
app.PEditFieldLabel.Text = 'P';
% Create PEditField
app.PEditField = uieditfield(app.UIFigure, 'numeric');
app.PEditField.Position = [257 276 100 22];
% Create 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';
% Show the figure after all components are created
app.UIFigure.Visible = 'on';
end
end
% App creation and deletion
methods (Access = public)
% Construct app
function app = product
% Create UIFigure and components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end
输出
结论
因此,这就是关于在MATLAB应用程序中创建GUI按钮的全部内容。在本文中,我们解释了在MATLAB应用程序中创建GUI按钮的步骤。同时,我们通过一个例子详细说明了这个过程,其中我们创建了一个在MATLAB应用程序中用于乘法的按钮。