1.先打开matlab新建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操作

textString = get(handles.edit1,'String');
textString = get(handles.edit2,'String');
set(handles.edit1,'String','');
set(handles.edit2,'String','');
guidata(hObject, handles);
D.对于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上
点击运行即可实现计算器。

网友评论