1.先打开matlab新建GUI文件
2.选择路径(左边是默认的不用改)
![](https://img.haomeiwen.com/i2549157/e32a156e7fc588e6.png)
然后点击ok
3.此时界面会弹出一个小框
![](https://img.haomeiwen.com/i2549157/86a1764d430ef3a3.png)
4.建立计算器界面(贴上我设计的界面,不许嘲笑我的设计)
![](https://img.haomeiwen.com/i2549157/0ea1ae4562e0d632.png)
5.细致讲解一下,这里的按键和显示框的是怎么实现的
A.显示框:选择edit text
![](https://img.haomeiwen.com/i2549157/0f268cfbbb217aad.png)
在右边屏幕拉取即可
![](https://img.haomeiwen.com/i2549157/bbc19d6c7b3ed2f1.png)
如图所示,新建两个即可,左边作为输入屏,右边作为输入结果的显示屏
双击该框,弹出一个窗口,窗口下拉,里面有该显示框的属性
![](https://img.haomeiwen.com/i2549157/05cd03e36752d7a0.png)
string值为显示框显示的值
Tag为显示框的名字
(现在这个计算器需要显示框和输出框,如果没有新建其他的edit框,默认新建的第一个edit框的名字为edit1,第二个为edit2)
B.数字按钮和字符按钮
点击push button 新建按钮,需要几个建几个
![](https://img.haomeiwen.com/i2549157/f350bb4712ee3164.png)
双击之后在string那一栏改成你所需要的按钮
![](https://img.haomeiwen.com/i2549157/bc238c5a3882bc1c.png)
回车之后,如图所示
![](https://img.haomeiwen.com/i2549157/a63a7d7374a1f913.png)
6.把界面雏形做出之后,我们需要去实现计算器的操作
A.首先改0~9的数字键(需要点击后在edit1上显示该数字)
右键点击你需要改的button之后会出现一个窗口选择view callbacks->callback,然后会打开一个函数,蓝色字体所在的位置是该button所在的位置的代码
![](https://img.haomeiwen.com/i2549157/47e956e982a69ce6.png)
按照这个方式将自己的代码改成自己所需要的数字
handles.后面加的是自己所需要将显示的文本框的名字
textString = get(handles.edit1,'String');
textString = strcat(textString,'6');
set(handles.edit1,'String',textString);
guidata(hObject, handles);
B.对于计算符号
![](https://img.haomeiwen.com/i2549157/3211c986264f5b71.png)
textString = get(handles.edit1,'String');
textString = strcat(textString,'+');
set(handles.edit1,'String',textString);
guidata(hObject, handles);
加减乘除只需用换一下就好
C.对于AE操作
![](https://img.haomeiwen.com/i2549157/b4f642159cfcc904.png)
textString = get(handles.edit1,'String');
textString = get(handles.edit2,'String');
set(handles.edit1,'String','');
set(handles.edit2,'String','');
guidata(hObject, handles);
D.对于back操作
![](https://img.haomeiwen.com/i2549157/372ea757f4a16f67.png)
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.退出操作
![](https://img.haomeiwen.com/i2549157/709f53b371bd0d8f.png)
close(gcf);
7.初始化操作
A.需要对edit1和edit2进行初始化,使代码运行时,文本框里为空白(需要在opening里改函数)
![](https://img.haomeiwen.com/i2549157/9d5ad38db2ed12f9.png)
set(handles.edit1,'string','');
set(handles.edit2,'string','');
B.需要将edit1的结果在edit2中显示出来(需要改计算那个button的函数值)
![](https://img.haomeiwen.com/i2549157/f1513fdca8fc0fd8.png)
textString = get(handles.edit1,'String');
aa = eval(textString);
set(handles.edit2,'String',aa);
guidata(hObject, handles);
使其显示在edit2上
点击运行即可实现计算器。
![](https://img.haomeiwen.com/i2549157/302903a52ffb25e2.png)
网友评论