matlab之App Designer GUI界面及程序设计
CSDN 2024-09-07 08:35:03 阅读 58
一、 Matlab App Designer简介
Matlab App Designer是 Matlab的一个交互式应用开发环境,可以轻松的帮助用户快速的建立用户界面,Matlab App Designer具有以下优点。
1、界面友好,无需专业编程知识,就可以快速建立应用程序;
2、高度可定制性,可根据需求,应用自定义选项轻松对应用程序进行修改和更新;
3、支持代码重用,最大限度提高编程效率
Matlab App Design提供了一个快速、灵活、易使用的开发环境,可以帮助用户快速建立应用程序,实现数据分析的可视化。
二、Matlab App Designer入门介绍
打开Matlab App Designer,其页面如下图所示,左侧为组件库,中间 为设计视图和代码视图,右侧为组件浏览器和组件属性
将组件拖入到设计视图中即可进行用户界面的设计,并可通过组件属性对组件的标签、字体的型式、大小,组件的位置进行修改。
同时可通过代码视图进行代码的查看和代码的编写。
三、利用Matlab App Designer进行应用App界面及程序设计
本案例采用Matlab App Designer进行一个银行一年期存款利息的App界面及程序设计
1、将“编辑字段(数值)”组件拖入到设计视图中,并进行属性需改,如下图所示
2、将Botton按钮组件拖入到设计视图中,并将名称更改为计算
3、点击计算组件按钮,选择组件属性中的回调,添加回调属性,即可转到代码视图,进行代码编写
转到代码视图
并对在组件浏览器中对编辑字段(数值)组件进行名称修改
4、代码编写
Pr=app.PrEditField.Value;%对本金进行赋值
Ra=app.RaEditField.Value;%对一年期利息进行赋值
INT_1=Pr*Ra;%对一年期利息进行计算
app.INTEditField.Value=INT_1;%将利息显示在设计视图
Totle=Pr+INT_1;%本金+利息总额计算
app.TotleEditField.Value=Totle;%将本金+利息总额显示在设计视图
5、点击左上角保存,对文件进行保存,然后点击运行,即可运行该程序
输入本金和利率,点击计算,即可进行相关计算,并在软件界面中显示计算利息以及本金+利息总额,如下图所示。
6、详细程序代码如下图所示
<code>classdef user_interface_app < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
EditFieldLabel matlab.ui.control.Label
PrEditField matlab.ui.control.NumericEditField
Label matlab.ui.control.Label
RaEditField matlab.ui.control.NumericEditField
Label_2 matlab.ui.control.Label
TotleEditField matlab.ui.control.NumericEditField
EditField_4Label matlab.ui.control.Label
INTEditField matlab.ui.control.NumericEditField
Button matlab.ui.control.Button
Label_3 matlab.ui.control.Label
Label_4 matlab.ui.control.Label
Label_5 matlab.ui.control.Label
end
methods (Access = private)
% Button pushed function: Button
function ButtonPushed(app, event)
Pr=app.PrEditField.Value;%对本金进行赋值
Ra=app.RaEditField.Value;%对一年期利息进行赋值
INT_1=Pr*Ra;%对一年期利息进行计算
app.INTEditField.Value=INT_1;%将利息显示在设计视图
Totle=Pr+INT_1;%本金+利息总额计算
app.TotleEditField.Value=Totle;%将本金+利息总额显示在设计视图
end
end
% App initialization and construction
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure
app.UIFigure = uifigure;
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'UI Figure';
% Create EditFieldLabel
app.EditFieldLabel = uilabel(app.UIFigure);
app.EditFieldLabel.HorizontalAlignment = 'right';
app.EditFieldLabel.FontName = 'Times New Roman';
app.EditFieldLabel.FontSize = 15;
app.EditFieldLabel.FontWeight = 'bold';
app.EditFieldLabel.Position = [123 353 35 22];
app.EditFieldLabel.Text = '本金';
% Create PrEditField
app.PrEditField = uieditfield(app.UIFigure, 'numeric');
app.PrEditField.FontName = 'Times New Roman';
app.PrEditField.FontSize = 15;
app.PrEditField.FontWeight = 'bold';
app.PrEditField.Position = [173 353 112 22];
% Create Label
app.Label = uilabel(app.UIFigure);
app.Label.HorizontalAlignment = 'right';
app.Label.FontName = 'Times New Roman';
app.Label.FontSize = 15;
app.Label.FontWeight = 'bold';
app.Label.Position = [78 311 80 22];
app.Label.Text = '一年期利率';
% Create RaEditField
app.RaEditField = uieditfield(app.UIFigure, 'numeric');
app.RaEditField.FontName = 'Times New Roman';
app.RaEditField.FontSize = 15;
app.RaEditField.FontWeight = 'bold';
app.RaEditField.Position = [173 311 112 22];
% Create Label_2
app.Label_2 = uilabel(app.UIFigure);
app.Label_2.HorizontalAlignment = 'right';
app.Label_2.FontName = 'Times New Roman';
app.Label_2.FontSize = 15;
app.Label_2.FontWeight = 'bold';
app.Label_2.Position = [54 230 104 22];
app.Label_2.Text = '本金+利息总额';
% Create TotleEditField
app.TotleEditField = uieditfield(app.UIFigure, 'numeric');
app.TotleEditField.FontName = 'Times New Roman';
app.TotleEditField.FontSize = 15;
app.TotleEditField.FontWeight = 'bold';
app.TotleEditField.Position = [173 230 112 22];
% Create EditField_4Label
app.EditField_4Label = uilabel(app.UIFigure);
app.EditField_4Label.HorizontalAlignment = 'right';
app.EditField_4Label.FontName = 'Times New Roman';
app.EditField_4Label.FontSize = 15;
app.EditField_4Label.FontWeight = 'bold';
app.EditField_4Label.Position = [93 271 65 22];
app.EditField_4Label.Text = '计算利息';
% Create INTEditField
app.INTEditField = uieditfield(app.UIFigure, 'numeric');
app.INTEditField.FontName = 'Times New Roman';
app.INTEditField.FontSize = 15;
app.INTEditField.FontWeight = 'bold';
app.INTEditField.Position = [173 271 112 22];
% Create Button
app.Button = uibutton(app.UIFigure, 'push');
app.Button.ButtonPushedFcn = createCallbackFcn(app, @ButtonPushed, true);
app.Button.BackgroundColor = [0.0745 0.6235 1];
app.Button.Position = [173 178 123 24];
app.Button.Text = '计算';
% Create Label_3
app.Label_3 = uilabel(app.UIFigure);
app.Label_3.FontSize = 13;
app.Label_3.FontWeight = 'bold';
app.Label_3.Position = [109 392 31 22];
app.Label_3.Text = '项目';
% Create Label_4
app.Label_4 = uilabel(app.UIFigure);
app.Label_4.FontSize = 13;
app.Label_4.FontWeight = 'bold';
app.Label_4.Position = [213 392 31 22];
app.Label_4.Text = '数值';
% Create Label_5
app.Label_5 = uilabel(app.UIFigure);
app.Label_5.FontSize = 18;
app.Label_5.FontWeight = 'bold';
app.Label_5.Position = [218 433 113 24];
app.Label_5.Text = '利率计算程序';
end
end
methods (Access = public)
% Construct app
function app = user_interface_app
% Create and configure 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 App Designer作为交互式应用开发环境,为用户提供了简单易学的应用App界面及程序设计工具,方便用户快速进行快速建立应用程序,实现数据计算的可视化。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。