用MATLAB AppDesigner实现纪念日计算器

本文介绍如何使用MATLAB的AppDesigner工具来创建一个应用程序,该程序能够计算并提醒用户重要的纪念日。通过AppDesigner的可视化界面设计,用户可以轻松输入纪念日日期,并设置提醒,使得计算和管理纪念日变得简单直观。
摘要由CSDN通过智能技术生成

 

 

 

classdef app2 < matlab.apps.AppBase

    % Properties that correspond to app components
    properties (Access = public)
        UIFigure          matlab.ui.Figure
        Panel             matlab.ui.container.Panel
        B7                matlab.ui.control.Button
        B8                matlab.ui.control.Button
        B9                matlab.ui.control.Button
        B4                matlab.ui.control.Button
        B5                matlab.ui.control.Button
        B6                matlab.ui.control.Button
        B1                matlab.ui.control.Button
        B0                matlab.ui.control.Button
        B3                matlab.ui.control.Button
        B2                matlab.ui.control.Button
        B_clear           matlab.ui.control.Button
        Panel_2           matlab.ui.container.Panel
        B_day             matlab.ui.control.Button
        B_week            matlab.ui.control.Button
        B_month           matlab.ui.control.Button
        B_year            matlab.ui.control.Button
        Label             matlab.ui.control.Label
        TextArea          matlab.ui.control.TextArea
        Label_2           matlab.ui.control.Label
        Label_3           matlab.ui.control.Label
        Label_5           matlab.ui.control.Label
        Label_6           matlab.ui.control.Label
        EditField_2       matlab.ui.control.EditField
        Button            matlab.ui.control.Button
        DatePickerLabel   matlab.ui.control.Label
        DatePicker        matlab.ui.control.DatePicker
        EditField_3Label  matlab.ui.control.Label
        EditField_3       matlab.ui.control.EditField
        EditField_4       matlab.ui.control.NumericEditField
        EditField_5       matlab.ui.control.EditField
        EditField_6       matlab.ui.control.EditField
        Button_2          matlab.ui.control.Button
    end

    % Callbacks that handle component events
    methods (Access = private)

        % Button pushed function: Button
        function ButtonPushed(app, event)
            name=app.EditField_3.Value;
            app.TextArea.Value=name;
            app.EditField_4.Value=datenum([year(date),month(date),day(date)])-datenum(app.DatePicker.Value);
        end

        % Button pushed function: B1
        function B1ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'1');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B2
        function B2ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'2');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B3
        function B3ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'3');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B4
        function B4ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'4');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B5
        function B5ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'5');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B6
        function B6ButtonPushed(app, event)
            text=app.EditField_5.Value;
            text=strcat(text,'6');
            app.EditField_5.Value=text;
        end

        % Button pushed function: B7
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
设计一个简单的计算器需要以下步骤: 1. 打开 Matlab 中的 App Designer 工具,创建一个新的 App。 2. 在 App Designer 界面中添加两个 UI 组件:一个用于显示计算结果的文本框(Text),一个用于输入计算表达式的编辑框(Edit Field)。 3. 添加数字按钮和运算符按钮。可以使用按钮组件(Button Group)来组织各种按钮。为了使计算器更加美观,可以使用 MATLAB 的内置图标库,如“plus”,“minus”,“times”和“divide”等。 4. 为每个按钮添加回调函数。这些回调函数将在用户单击按钮时执行。例如,单击数字按钮时,将数字添加到编辑框中;单击运算符按钮时,将运算符添加到编辑框中。 5. 为“=”按钮添加回调函数。该函数将使用 eval 函数计算编辑框中的表达式,并将结果显示在文本框中。 6. 测试计算器应用程序。运行应用程序并测试各种功能,例如输入数字、运算符和计算表达式。 下面是一个简单的示例代码: ```matlab classdef CalculatorApp < matlab.apps.AppBase % Properties that correspond to app components properties (Access = public) UIFigure matlab.ui.Figure ResultText matlab.ui.control.Label ExpressionEditField matlab.ui.control.EditField ButtonGroup matlab.ui.container.ButtonGroup NumButton1 matlab.ui.control.Button NumButton2 matlab.ui.control.Button NumButton3 matlab.ui.control.Button NumButton4 matlab.ui.control.Button NumButton5 matlab.ui.control.Button NumButton6 matlab.ui.control.Button NumButton7 matlab.ui.control.Button NumButton8 matlab.ui.control.Button NumButton9 matlab.ui.control.Button NumButton0 matlab.ui.control.Button PlusButton matlab.ui.control.Button MinusButton matlab.ui.control.Button TimesButton matlab.ui.control.Button DivideButton matlab.ui.control.Button EqualsButton matlab.ui.control.Button end % Callbacks that handle component events methods (Access = private) % Button pushed function: NumButton1 function NumButton1Pushed(app, event) appendText(app, '1'); end % Button pushed function: NumButton2 function NumButton2Pushed(app, event) appendText(app, '2'); end % Button pushed function: NumButton3 function NumButton3Pushed(app, event) appendText(app, '3'); end % Button pushed function: NumButton4 function NumButton4Pushed(app, event) appendText(app, '4'); end % Button pushed function: NumButton5 function NumButton5Pushed(app, event) appendText(app, '5'); end % Button pushed function: NumButton6 function NumButton6Pushed(app, event) appendText(app, '6'); end % Button pushed function: NumButton7 function NumButton7Pushed(app, event) appendText(app, '7'); end % Button pushed function: NumButton8 function NumButton8Pushed(app, event) appendText(app, '8'); end % Button pushed function: NumButton9 function NumButton9Pushed(app, event) appendText(app, '9'); end % Button pushed function: NumButton0 function NumButton0Pushed(app, event) appendText(app, '0'); end % Button pushed function: PlusButton function PlusButtonPushed(app, event) appendText(app, '+'); end % Button pushed function: MinusButton function MinusButtonPushed(app, event) appendText(app, '-'); end % Button pushed function: TimesButton function TimesButtonPushed(app, event) appendText(app, '*'); end % Button pushed function: DivideButton function DivideButtonPushed(app, event) appendText(app, '/'); end % Button pushed function: EqualsButton function EqualsButtonPushed(app, event) expression = app.ExpressionEditField.Value; result = eval(expression); app.ResultText.Text = num2str(result); end end % App initialization and construction methods (Access = private) % Code that executes after component creation function startupFcn(app) % Initialize the result text app.ResultText.Text = '0'; end % Append text to the expression edit field function appendText(app, text) currentValue = app.ExpressionEditField.Value; app.ExpressionEditField.Value = strcat(currentValue, text); 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 = 'Calculator'; % Create ResultText app.ResultText = uilabel(app.UIFigure); app.ResultText.HorizontalAlignment = 'right'; app.ResultText.FontSize = 20; app.ResultText.FontWeight = 'bold'; app.ResultText.Position = [51 386 532 37]; app.ResultText.Text = '0'; % Create ExpressionEditField app.ExpressionEditField = uieditfield(app.UIFigure, 'text'); app.ExpressionEditField.HorizontalAlignment = 'right'; app.ExpressionEditField.FontSize = 20; app.ExpressionEditField.FontWeight = 'bold'; app.ExpressionEditField.Position = [51 340 532 37]; % Create ButtonGroup app.ButtonGroup = uibuttongroup(app.UIFigure); app.ButtonGroup.SelectionChangedFcn = createCallbackFcn(app, @ButtonGroupSelectionChanged, true); app.ButtonGroup.TitlePosition = 'centertop'; app.ButtonGroup.FontSize = 20; app.ButtonGroup.FontWeight = 'bold'; app.ButtonGroup.Position = [51 77 532 251]; app.ButtonGroup.BorderType = 'none'; % Create NumButton1 app.NumButton1 = uibutton(app.ButtonGroup, 'push'); app.NumButton1.FontSize = 20; app.NumButton1.FontWeight = 'bold'; app.NumButton1.Position = [17 186 80 80]; app.NumButton1.Text = '1'; app.NumButton1.ButtonPushedFcn = createCallbackFcn(app, @NumButton1Pushed, true); % Create NumButton2 app.NumButton2 = uibutton(app.ButtonGroup, 'push'); app.NumButton2.FontSize = 20; app.NumButton2.FontWeight = 'bold'; app.NumButton2.Position = [117 186 80 80]; app.NumButton2.Text = '2'; app.NumButton2.ButtonPushedFcn = createCallbackFcn(app, @NumButton2Pushed, true); % Create NumButton3 app.NumButton3 = uibutton(app.ButtonGroup, 'push'); app.NumButton3.FontSize = 20; app.NumButton3.FontWeight = 'bold'; app.NumButton3.Position = [217 186 80 80]; app.NumButton3.Text = '3'; app.NumButton3.ButtonPushedFcn = createCallbackFcn(app, @NumButton3Pushed, true); % Create NumButton4 app.NumButton4 = uibutton(app.ButtonGroup, 'push'); app.NumButton4.FontSize = 20; app.NumButton4.FontWeight = 'bold'; app.NumButton4.Position = [17 96 80 80]; app.NumButton4.Text = '4'; app.NumButton4.ButtonPushedFcn = createCallbackFcn(app, @NumButton4Pushed, true); % Create NumButton5 app.NumButton5 = uibutton(app.ButtonGroup, 'push'); app.NumButton5.FontSize = 20; app.NumButton5.FontWeight = 'bold'; app.NumButton5.Position = [117 96 80 80]; app.NumButton5.Text = '5'; app.NumButton5.ButtonPushedFcn = createCallbackFcn(app, @NumButton5Pushed, true); % Create NumButton6 app.NumButton6 = uibutton(app.ButtonGroup, 'push'); app.NumButton6.FontSize = 20; app.NumButton6.FontWeight = 'bold'; app.NumButton6.Position = [217 96 80 80]; app.NumButton6.Text = '6'; app.NumButton6.ButtonPushedFcn = createCallbackFcn(app, @NumButton6Pushed, true); % Create NumButton7 app.NumButton7 = uibutton(app.ButtonGroup, 'push'); app.NumButton7.FontSize = 20; app.NumButton7.FontWeight = 'bold'; app.NumButton7.Position = [17 6 80 80]; app.NumButton7.Text = '7'; app.NumButton7.ButtonPushedFcn = createCallbackFcn(app, @NumButton7Pushed, true); % Create NumButton8 app.NumButton8 = uibutton(app.ButtonGroup, 'push'); app.NumButton8.FontSize = 20; app.NumButton8.FontWeight = 'bold'; app.NumButton8.Position = [117 6 80 80]; app.NumButton8.Text = '8'; app.NumButton8.ButtonPushedFcn = createCallbackFcn(app, @NumButton8Pushed, true); % Create NumButton9 app.NumButton9 = uibutton(app.ButtonGroup, 'push'); app.NumButton9.FontSize = 20; app.NumButton9.FontWeight = 'bold'; app.NumButton9.Position = [217 6 80 80]; app.NumButton9.Text = '9'; app.NumButton9.ButtonPushedFcn = createCallbackFcn(app, @NumButton9Pushed, true); % Create NumButton0 app.NumButton0 = uibutton(app.ButtonGroup, 'push'); app.NumButton0.FontSize = 20; app.NumButton0.FontWeight = 'bold'; app.NumButton0.Position = [117 276 80 80]; app.NumButton0.Text = '0'; app.NumButton0.ButtonPushedFcn = createCallbackFcn(app, @NumButton0Pushed, true); % Create PlusButton app.PlusButton = uibutton(app.ButtonGroup, 'push'); app.PlusButton.FontSize = 20; app.PlusButton.FontWeight = 'bold'; app.PlusButton.Position = [317 186 80 80]; app.PlusButton.Text = '+'; app.PlusButton.ButtonPushedFcn = createCallbackFcn(app, @PlusButtonPushed, true); % Create MinusButton app.MinusButton = uibutton(app.ButtonGroup, 'push'); app.MinusButton.FontSize = 20; app.MinusButton.FontWeight = 'bold'; app.MinusButton.Position = [317 96 80 80]; app.MinusButton.Text = '-'; app.MinusButton.ButtonPushedFcn = createCallbackFcn(app, @MinusButtonPushed, true); % Create TimesButton app.TimesButton = uibutton(app.ButtonGroup, 'push'); app.TimesButton.FontSize = 20; app.TimesButton.FontWeight = 'bold'; app.TimesButton.Position = [317 6 80 80]; app.TimesButton.Text = '*'; app.TimesButton.ButtonPushedFcn = createCallbackFcn(app, @TimesButtonPushed, true); % Create DivideButton app.DivideButton = uibutton(app.ButtonGroup, 'push'); app.DivideButton.FontSize = 20; app.DivideButton.FontWeight = 'bold'; app.DivideButton.Position = [417 6 80 80]; app.DivideButton.Text = '/'; app.DivideButton.ButtonPushedFcn = createCallbackFcn(app, @DivideButtonPushed, true); % Create EqualsButton app.EqualsButton = uibutton(app.ButtonGroup, 'push'); app.EqualsButton.FontSize = 20; app.EqualsButton.FontWeight = 'bold'; app.EqualsButton.Position = [417 96 80 80]; app.EqualsButton.Text = '='; app.EqualsButton.ButtonPushedFcn = createCallbackFcn(app, @EqualsButtonPushed, true); % 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 = CalculatorApp % Create UIFigure and components createComponents(app) % Register the app with App Designer registerApp(app, app.UIFigure) % Execute the startup function runStartupFcn(app, @startupFcn) % Show the figure if nargout == 0 clear app app.UIFigure.Visible = 'on'; end end % Code that executes before app deletion function delete(app) % Delete UIFigure when app is deleted delete(app.UIFigure) end end end ``` 这是一个简单的计算器应用程序,可以添加更多功能来提高其计算能力和用户体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值