精华内容
下载资源
问答
  • Matlab GUI设计计算器

    2021-04-06 16:28:16
    适用于学习Matlab GUI设计人群
  • 设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个...
  • MATLAB GUI实现计算器设计

    万次阅读 多人点赞 2018-05-28 22:52:22
    1.先打开matlab新建GUI文件 2.选择路径(左边是默认的不用改) 然后点击ok 3.此时界面会弹出一个小框 4.建立计算器界面(贴上我设计的界面,不许嘲笑我的设计) 5.细致讲解一下,这里...

    1.先打开matlab新建GUI文件

    新建GUI文件

    2.选择路径(左边是默认的不用改)

    选择路径

    然后点击ok

    3.此时界面会弹出一个小框

    弹出框

    4.建立计算器界面(贴上我设计的界面,不许嘲笑我的设计)

    界面设计

    5.细致讲解一下,这里的按键和显示框的是怎么实现的

    A.显示框: 选择edit text
    显示框
    在右边屏幕拉取即可
    显示框
    如图所示,新建两个即可,左边作为输入屏,右边作为输入结果的显示屏
    双击该框,弹出一个窗口,窗口下拉,里面有该显示框的属性
    显示框的属性
    string值为显示框显示的值
    Tag为显示框的名字
    (现在这个计算器需要显示框和输出框,如果没有新建其他的edit框,默认新建的第一个edit框的名字为edit1,第二个为edit2)

    B.数字按钮和字符按钮
    点击push button 新建按钮,需要几个建几个
    按钮
    双击之后在string那一栏改成你所需要的按钮
    按钮值
    回车之后,如图所示
    改好的按钮值

    6.把界面雏形做出之后,我们需要去实现计算器的操作

    A.首先改0~9的数字键(需要点击后在edit1上显示该数字)
    右键点击你需要改的button之后会出现一个窗口选择view callbacks->callback,然后会打开一个函数,蓝色字体所在的位置是该button所在的位置的代码
    代码所在
    按照这个方式将自己的代码改成自己所需要的数字
    handles.后面加的是自己所需要将显示的文本框的名字

    textString = get(handles.edit1,‘String’);
    textString = strcat(textString,‘6’);
    set(handles.edit1,‘String’,textString);
    guidata(hObject, handles);

    B.对于计算符号
    计算符号

    textString = get(handles.edit1,‘String’);
    textString = strcat(textString,’+’);
    set(handles.edit1,‘String’,textString);
    guidata(hObject, handles);

    加减乘除只需用换一下就好
    C.对于AE操作
    AE

    textString = get(handles.edit1,‘String’);
    textString = get(handles.edit2,‘String’);
    set(handles.edit1,‘String’,’’);
    set(handles.edit2,‘String’,’’);
    guidata(hObject, handles);

    D.对于back操作
    back

    textString=get(handles.edit1,‘String’);
    as=char(textString);
    n=length(textString);
    textString=as(1:n-1);
    set(handles.edit1,‘String’,textString)
    guidata(hObject, handles);

    E.退出操作
    退出

    close(gcf);

    7.初始化操作

    A.需要对edit1和edit2进行初始化,使代码运行时,文本框里为空白(需要在opening里改函数)
    初始化

    set(handles.edit1,‘string’,’’);
    set(handles.edit2,‘string’,’’);

    B.需要将edit1的结果在edit2中显示出来(需要改计算那个button的函数值)
    计算

    textString = get(handles.edit1,‘String’);
    aa = eval(textString);
    set(handles.edit2,‘String’,aa);
    guidata(hObject, handles);

    使其显示在edit2上
    点击运行即可实现计算器。
    计算器

    function varargout = text2(varargin)
    % TEXT2 MATLAB code for text2.fig
    %      TEXT2, by itself, creates a new TEXT2 or raises the existing
    %      singleton*.
    %
    %      H = TEXT2 returns the handle to a new TEXT2 or the handle to
    %      the existing singleton*.
    %
    %      TEXT2('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in TEXT2.M with the given input arguments.
    %
    %      TEXT2('Property','Value',...) creates a new TEXT2 or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before text2_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to text2_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
    
    % Edit the above text to modify the response to help text2
    
    % Last Modified by GUIDE v2.5 28-May-2018 19:45:49
    
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @text2_OpeningFcn, ...
                       'gui_OutputFcn',  @text2_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
    
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
    
    
    % --- Executes just before text2 is made visible.
    function text2_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to text2 (see VARARGIN)
    
    % Choose default command line output for text2
    set(handles.edit1,'string','');
    set(handles.edit2,'string','');
    
    handles.output = hObject;
    
    % Update handles structure
    guidata(hObject, handles);
    
    % UIWAIT makes text2 wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
    
    
    % --- Outputs from this function are returned to the command line.
    function varargout = text2_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Get default command line output from handles structure
    varargout{1} = handles.output;
    
    
    
    function edit1_Callback(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Hints: get(hObject,'String') returns contents of edit1 as text
    %        str2double(get(hObject,'String')) returns contents of edit1 as a double
    
    
    % --- Executes during object creation, after setting all properties.
    function edit1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
    
    
    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    aa = eval(textString);
    set(handles.edit2,'String',aa);
    guidata(hObject, handles);
    
    
    function edit2_Callback(hObject, eventdata, handles)
    % hObject    handle to edit2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Hints: get(hObject,'String') returns contents of edit2 as text
    %        str2double(get(hObject,'String')) returns contents of edit2 as a double
    
    
    % --- Executes during object creation, after setting all properties.
    function edit2_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to edit2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
    
    
    % --- Executes on button press in pushbutton2.
    function pushbutton2_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'7');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    
    % --- Executes on button press in pushbutton3.
    function pushbutton3_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton3 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'8');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton4.
    function pushbutton4_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton4 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'9');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton5.
    function pushbutton5_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton5 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'4');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton6.
    function pushbutton6_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton6 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'5');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton7.
    function pushbutton7_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton7 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'6');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton8.
    function pushbutton8_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton8 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'1');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton9.
    function pushbutton9_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton9 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'2');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton10.
    function pushbutton10_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton10 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'3');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton11.
    function pushbutton11_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton11 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'0');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton12.
    function pushbutton12_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton12 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'+');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton13.
    function pushbutton13_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton13 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = get(handles.edit2,'String');
    set(handles.edit1,'String','');
    set(handles.edit2,'String','');
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton14.
    function pushbutton14_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton14 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'-');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton15.
    function pushbutton15_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton15 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'*');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton16.
    function pushbutton16_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton16 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'/');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton17.
    function pushbutton17_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton17 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'4');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton18.
    function pushbutton18_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton18 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'7');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton19.
    function pushbutton19_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton19 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    close(gcf);
    
    
    % --- Executes on button press in pushbutton20.
    function pushbutton20_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton20 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString=get(handles.edit1,'String');
    as=char(textString);
    n=length(textString);
    textString=as(1:n-1);
    set(handles.edit1,'String',textString)
    guidata(hObject, handles);
    
    
    % --- Executes on button press in pushbutton21.
    function pushbutton21_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton21 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'.');
    set(handles.edit1,'String',textString);
    guidata(hObject, handles);
    
    
    展开全文
  • MATLABGUI设计——计算器

    千次阅读 多人点赞 2021-03-18 15:02:00
    出于兴趣爱好自学了一段时间的MATLAB,然后学习自制了一个属于自己的一个计算器,现在将我的第一个GUI分享给大家。(MATLAB版本为R2019a) 一、准备工作 ①首先在MATLAB中的命令行窗口输入guide,之后会出现如下界面...

    出于兴趣爱好自学了一段时间的MATLAB,然后学习自制了一个属于自己的一个计算器,现在将我的第一个GUI分享给大家。(MATLAB版本为R2019a)

    一、准备工作

    ①首先在MATLAB中的命令行窗口输入guide,之后会出现如下界面,
    在这里插入图片描述
    点击第一个Blank GUI(Default)便可出现GUI编辑界面,如下图所示
    在这里插入图片描述
    之后就可以开始布局属于自己的计算机页面了。

    二、开始工作

    有了之前的界面,我们就可以开始布局属于我们的计算器了,首先给大家看看我的界面。
    在这里插入图片描述
    下面手把手教大家怎么创建属于自己的机界面。
    ****第一步:可编辑文本(有些同学是英文版本的,可以自己翻译一下找到所对应的按钮)在这里插入图片描述
    点击可编辑文本,随后自己拖动(大小可自己改变),就会出现如下一个长条(我的界面右边那个)。

    在这里插入图片描述
    然后双击这个文本,便可以看到下图。
    在这里插入图片描述
    在这个里面,我们主要注意四点:①BackgroundColor,这个可以改变文本框的背景颜色,可以调整你喜欢的颜色。
    ②FontSize,这个可以改变你的显示字体的大小默认是8.0,你可以改成16.0,直接在右边数字上修改就行了。
    ③String,这个是可以修改的,在我的界面中我直接将可编辑文本这五个字删除了,可以根据你喜欢的来。
    ④Tag(标签):这个最重要了,因为这个表示的是这个可编辑文本框的系统中的名字,等会儿编程的时候要用到。
    讲到这里,相信大家的可编辑文本框已经弄好了。
    ****第二步:设置普通按钮
    像上一步一样,大家可以点击普通按钮按键,然后放置,可以根据自己的喜好调整位置,也可以根据自己想要的功能添加。
    在这里插入图片描述
    你想要几个按钮你就自己点几个按钮,然后就可以修改每个按钮的名字了,(我的建议是你点一个按钮你就修改一下,免得弄混了)。双击你放置的按钮,会出现如下界面。
    在这里插入图片描述
    在这里你可以修改比如,我修改FontSize,还有BackgroundColor,以及String(按钮名字)。
    比如我把背景颜色换成了青色,字体设置成了16.0,String那一块设置成了‘10’。如下图所示。
    在这里插入图片描述

    三、程序演练以及代码编写

    在这里插入图片描述
    点击运行图窗这个按钮,会得到以下界面。
    在这里插入图片描述
    这个是我的界面,点击按钮之后你会发现文本框里什么都不会显示,这是因为我们还没有编写代码,但是你每一个按键都能按动,计算器的雏形已经开始显现,接下来就是编写程序了。回到你设计好的计算器的界面,
    在这里插入图片描述
    用鼠标右键点击数字1,将光标移到查看回调会出现如下界面,

    在这里插入图片描述
    点击Callback,会出现如下代码:

    % --- Executes on button press in pushbutton22.
    function pushbutton22_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton22 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    

    这些都是系统自动生成的,我们之所以在运行之后按下按钮没有显示数字就是因为我们没有在这个函数中编写相应的代码。
    (pushbutton22是我的界面中数字‘1’按钮的名字,应该每个人的都不一样),我们在这五行代码中,加上下面三行代码,

    textString = get(handles.edit1,'String');
    textString = strcat(textString,'1');
    set(handles.edit1,'String',textString);
    

    再回到界面去运行你所设计的界面,你会发现,你按下按钮‘1’后,会在文本框中中显示1,你按下多少次,就会显示多少次1。如下图。
    在这里插入图片描述
    按钮1的完整代码如下:

    % --- Executes on button press in pushbutton22.
    function pushbutton22_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton22 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'1');
    set(handles.edit1,'String',textString);
    
    

    下面来解释一下:首先需要声明的是:handle是一个结构体,同一个.fig下的所有控件,均可挂在handle下。
    textString = get(handles.edit1,‘String’);
    这句代码的意思是获取可编辑文本框的字符串,并保存在textString中,至于edit1我上面也解释了,点击可编辑文本框,你的可编辑文本框中Tag是什么,这里就打上什么,比如有可能是edit5。
    textString = strcat(textString,‘1’);
    先明白strcat函数的定义:strcat 即 Strings Catenate,横向连接字符串。
    这句代码的意思是将textString中的字符串内容和‘1’连起来,比如你textString中有一个1,在按下按钮1,这时候这个函数就会把两个1连起来,变成11.
    set(handles.edit1,‘String’,textString);
    这句代码的意思是将textString中的内容以字符串的形式显示在edit1上,也就是显示在可编辑文本框上。
    在这个基础上,我们就会编写按钮0-9的代码了,只需要重复上述操作,再将代码中的数字‘1’,改成相应按钮的数字就可以了。比如按钮2的代码为:

    % --- Executes on button press in pushbutton23.
    function pushbutton23_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton23 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'2');
    set(handles.edit1,'String',textString);
    

    之后再运行界面,按下相应的按钮,比如从按钮1按到按钮9,便会得到以下界面:
    在这里插入图片描述
    加减乘除(±*/)、小数点(.)、平方(^)的代码如下图所示:

    % --- Executes on button press in pushbutton31.
    function pushbutton31_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton31 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'+');
    set(handles.edit1,'String',textString);
    

    跟按钮0-9一样的改法,只需要将其中的符号换一下就好了,比如平方的代码如下:

    % --- Executes on button press in pushbutton37.
    function pushbutton37_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton37 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    textString = strcat(textString,'^2');
    set(handles.edit1,'String',textString);
    

    *然后讲一下按钮‘=’的代码,代码如下所示: *

    % --- Executes on button press in pushbutton36.
    function pushbutton36_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton36 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    ans = eval(textString);
    set(handles.edit1,'String',ans);
    

    第一句是一样的,获取编辑框中的字符。
    第二句,大家可以在命令行窗口输入help eval获取到eval函数的使用方式,这里我就不贴出来了,通俗易懂地说,就是eval函数会直接执行eval()括号中的内容,比如你再命令行打上eval(‘8+9’),你会得到ans = 17,这里的代码的意思是我得到textString中的内容后,直接丢到eval的扩上中,然后会给我们直接执行括号里面的内容,进行计算。
    第三句话的意思就是将结果ans以字符串的方式显示在文本编辑框中。

    按钮C(clear清除)的代码:

    % --- Executes on button press in pushbutton39.
    function pushbutton39_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton39 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    set(handles.edit1,'String','');
    

    就是将文本框设置一个空格字符。
    按钮Quit(停止退出)的代码:

    % --- Executes on button press in pushbutton40.
    function pushbutton40_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton40 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    close(gcf);
    
    

    直接关掉当前图形句柄。

    BACK(退回)按钮的代码:

    % --- Executes on button press in pushbutton38.
    function pushbutton38_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton38 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    textString = get(handles.edit1,'String');
    str = char(textString);
    value = length(str);
    textString = str(1:value-1);
    set(handles.edit1,'String',textString);
    

    第一句代码依旧是获取edit上字符串的内容
    第二句代码是将字符串通过char()函数变成字符向量,通过MATLAB中的命令行窗口输入help char可以得到如下信息
    A =
    “Pythagoras”
    使用 char 函数将 A 转换为字符向量。MATLAB 可以显示带有单引号的字符向量。
    C = char(A)
    C =
    'Pythagoras’

    第三句代码是获取str的长度。
    第四句是显示字符向量的1到(value-1)位,比如你按下123三个按钮,再按一下BACK按键,可以看到文本框中只有12了。
    第五局依旧是将textString的内容转换成字符串显示到文本框中。

    四、结果演示

    MATLAB-基于GUI的简易计算器的实现

    五、总结和分享

    谢谢大家抽空看我写的这篇文章,希望大家一起学习,一起进步,这篇文章有什么不足之处,请大家加以批评指正和补充,谢谢大家!

    展开全文
  • 软件界面上能显示课程设计题目、四则运算控制按钮、两组输入控件、一组输出控件,可实现连续运算,可实现单个元素的运算,也可实现一组数据的运算,可显视运算成功或运算错误提示。
  • matlab GUI设计
  • matlab的简易计算器GUI设计,给新手做参考,熟悉matlabGUI设计
  • MATLABGUI设计总结-matlab gui 设计总结.doc 最近做毕业设计用到GUI,搜集到了很多资料,现在传上来,和大家一起分亨。 一.10个小问题 二.MATLAB GUI编程中几个有用的程序段 1、 启动 2、 在GUI中使用Axes控件...
  • 利用matlabGUI设计计算器

    热门讨论 2010-05-16 23:04:31
    自己用matlab实现计算器,可实现单位数的加减乘除,对于其他的运算可根据加减乘除的示例来添加。 让你对MATLABGUI设计有更深刻的理解,容易上手。
  • 基于matlab gui实现的一个简易计算器,对于掌握gui的相关知识具有一定的帮助。
  • 因最近在学习建设工程经济(一建考试项目),萌发了想写一个贷款计算器的想法。花了一个下午终于搞定。 功能: 根据等额本金和等额本息的计算公式(等额本金是利用终值公式计算得来,等额本息是利用终值公式和等额...
  • MATLAB GUI计算器.zip

    2020-02-16 14:07:56
    MATLAB GUI计算器 课程设计制作,包括‘+’‘-’‘*’‘/’功能以及括号等,无bug,可以直接运行
  • 基于MATLABGUI设计简易计算器

    千次阅读 2018-11-10 13:10:31
    MATLAB语言基于GUI设计简易计算器 GUI界面的设置 主页----新建----应用程序----GUIDE 进入下图所示界面 点击确定,即可生成GUI设计界面。 设计计算器界面,放置按键和显示屏,并对按键进行定义。 OR(按钮)设置...

    MATLAB语言基于GUI设计简易计算器

    GUI界面的设置

    主页----新建----应用程序----GUIDE

    进入下图所示界面
    在这里插入图片描述
    点击确定,即可生成GUI设计界面。

    设计计算器界面,放置按键和显示屏,并对按键进行定义。
    在这里插入图片描述
    OR(按钮)设置数字、计算符号和AC键。

    EDT(可编辑文本)设置输入框和显示框。

    双击所放置的模块,可调出按键参数设计界面,如图所示(可不设置(还是不要设置了))
    在这里插入图片描述
    准备好一切之后。。。点击右上角三角符号(运行图形(Ctrl+T))
    强大的MATLAB会自动在.m函数中生成图形界面代码,稍加修改,就可以实现自己简单的计算器了。(如下图所示)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (毫无技术含量的一个利用MATLAB设计计算器的方法)
    当然,会有其他更有技术含量的方式去设计一个计算器,利用基本的C语言即可实现功能。
    这里,暂时只介绍这种方式了,对于很多小白估计都很有帮助吧。

    展开全文
  • MATLAB制作GUI(1)-计算器的实现

    万次阅读 多人点赞 2019-02-18 10:50:40
    下面,我将介绍自己学习制作的第一个GUI——计算器。 首先在MATLAB命令行窗口中运行guide命令,会出现GUI新建窗口: 选择第一个Blank GUI选项,进入GUI编辑界面:  其中红框框选的就是常用的一些操作,如:...

    处于兴趣自己开始学习MATLAB制作GUI,希望在以后的科研生活中用到这项技术。下面,我将介绍自己学习制作的第一个GUI——计算器。

    首先在MATLAB命令行窗口中运行guide命令,会出现GUI新建窗口:

    选择第一个Blank GUI选项,进入GUI编辑界面:

     其中红框框选的就是常用的一些操作,如:添加静态文本、动态文本、按钮等操作。

    之后开始制作计算机,在GUI编辑器上添加三个可编辑文本、两个静态文本和两个按钮

     双击添加的Tag,我们可以看到相应Tag的信息:

    其中要注意Tag的名称,图例为edit1,表示该Tag为可编辑文本。我们可以修改Tag的相关设置,如背景,内容,字体等。

    现在计算器的样子出来了,但是不能使用,现在我们要修改程序内容,实现计算器的功能。

    计算器的大体思路是:点击运行按钮时,获取两个可编辑文本上的内容,将其相加,显示在第三个可编辑文本上。

    因此,我们要对按钮的callback进行修改,右键点击按钮选择“查看回调”,选择“callback"选项,来到按钮的callback函数处:

    在该函数下添加如下函数:

    便可实现计算器的功能。其中前两行函数是通过get函数获取可编辑文本中的内容,获取得到的data1和data2是元胞数据,因此我们将其转换为数字格式,求得两个数之后,最后用set函数赋值到第三个可编辑文本当中。(我做的时候还添加了一个关闭按钮,在其callback处添加close即可实现关闭GUI的功能)

     

    展开全文
  • MATLAB·gui设计简单计算器应用实例

    万次阅读 多人点赞 2019-06-19 23:26:51
    MATLAB 程序设计基础之gui设计 简单计算器应用实例 一、实验目的 掌握Matlab图形用户界面的设计流程 二、实验内容 用matlab设计有图形界面的计算器程序,其中清空和退出功能使用菜单栏实现(例子:calculator1) 三...
  • MATLAB GUI设计学习手记(第二版)【罗华飞编著2011】电子书, 以及原书配套的源程序。 ============================================= 编辑推荐 一本广受好评的界面设计工具书!论坛答疑,包教包会,一书在手,...
  • matlab-GUI编写简单计算器

    千次阅读 2020-04-25 22:05:03
    GUI编写简单计算器*加减乘除,以及部分特殊符号,其实原理特别简单; 语法结构包括实现原理很多大佬都有详细的说明了,这里就不赘述了,简单的入门计算器。 掌握好几个简单的语法就好: 1)获取:变量名=get(handles...
  • matlab gui 实战之计算器

    千次阅读 2019-03-23 14:38:02
    他隔段时间会布置一道实战作业,这次的作业是复现计算器界面和功能,分别有难度一,难度二,难度三,我是小弱鸡,三是不可能选的,自然选了难度二,之前用matlab gui都是用guide拖拽设计界面再写回调函数,这次是纯...
  • matlab GUI实现简易计算器

    千次阅读 2017-01-29 17:17:07
    function varargout = compute...% COMPUTE MATLAB code for compute.fig % COMPUTE, by itself, creates a new COMPUTE or raises the existing % singleton*. % % H = COMPUTE returns the handle to a ne...
  • GUI设计的简单计算器-计算器v1.rar 刚刚在论坛上学习完gui设计,于是就简单的试试手,设计了一个简易的gui计算器。本来想设计的更加完善点,但是目前水平有限,只设计了一个如图一样的计算器。传上来供交流学习之...
  • 基于MATLAB GUI的多功能科学计算器
  • matlab GUI计算器设计

    2013-08-25 18:45:27
    matlab GUI设计计算器,可根据需要修改程序
  • matlab 房贷计算器 gui设计 包括等额本金 等额本息 公积金等
  • PAGE PAGE 1 GUI程序设计 实 验 报 告 所属课程名称 MATLAB编程与应用 实 验 地 点 实 验 日 期 2019.12.12 班 级 学 号 姓 名 指导老师 一实验目的 了解GUI程序设计通过GUI程序设计来实现简易计算器了解GUI设计的...
  • 这个程序是我第一次接触MATLABGUI设计写的,我能感受到里面有少许bug,然后有少数功能我没有去定义,然后由于我这个工具后来又写了很多,集成了很多其他的功能,比如说字典,数据库等等,所以比较注意封装成单独...
  • Matlab设计简易计算器

    2021-07-10 09:32:51
    整个工程还是挺简单的,之前一直都是用matlab做信号处理,由于要做课程设计,就学了一下matlabGUI。下面总结几个关键的地方。 (1)控件拉到自己喜欢的位置,并将控件的Text和Tag改好(不改也行,看个人习惯) ...
  • MATLAB GUI计算器

    2008-12-10 20:11:01
    本人用GUI做的一个简易计算器.除了进制间的转换基本都能进行运算
  • Matlab_GUI_简易计算器

    2019-02-26 19:56:01
    使用Matlab进行GUI编程,设计了一个简易计算器,可以实现简单的四则运算,适合Matlab初学者。
  • matlab gui编写的按揭贷款计算器,安装了matlab后可直接运行exe文件,方便快捷

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 262
精华内容 104
关键字:

matlabgui设计计算器

matlab 订阅