Matlab GUI 编程实现加法器一.首先我们新建一个 GUI 文件: ,选择 Blank GUI(Default),如下图所示二.进入 GUI 开发环境以后添加两个编辑文本框,6 个静态文本框和一个按钮,布置如下图所示:布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。三.我们先为数据 1 文本框添加代码;点击上图所示红色方框,选择 edit1_Callback,或者是在数据 1 文本框出右键选择 View Callbacks–>Callback,光标便立即移到下面这段代码的位置: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然后在上面这段代码的下面插入如下代码:input=str2num(get(hObject,'String'));if (isempty(input)) set(hObject,'String','0');endguidata(hObject,handles);这段代码使得输入被严格限制,我们不能试图输入一个非数字。四.为 edit2_Callback 添加同样一段代码。五.现在我们为计算按钮添加代码来实现把数据 1 和数据 2 相加的目的。用上面三的同样的方法在 m 文件中找到 pushbutton1_Callback 代码段如下: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)% a and b are variables of strings type,and needs to be converted在上面这段代码后添加以下代码:a=get(handles.edit1,'String');b=get(handles.edit2,'String');total=str2num(a)+str2num(b);%the result needs to be converted back into string type to display itc=num2str(total);set(handles.text3,'String',c);guidata(hObject,handles);下面我们来对上面这段程序分析一下; a=get(handles.edit1,'String');b=get(handles.edit2,'String');上面这行代码把用户输入的数据存入到变量 a,变量 b 中; % a,b 是字符型变量,在计算两者相加之前需把他们转换为数字型。total=str2num(a)+str2num(b);这段代码实现两数相加 c = num2str(total); set(handles.text3,'String',c);guidata(hObject,handles);以上两行代码分别用来更新计算结果文本框和图形对象句柄,一般 Callback 回调函数都以guidata(hObject, handles)结束以更新数据。程序运行如下: