MATLAB:[6]可视化编写数制转换GUI程序
1、用向导新建一个GUI程序后,拖出2个panel控件,双击控件修改title,分别设为”输入框“和输出框。
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/90c61d1c99c0affcec20399c2372941fbfe4ea38.jpg)
2、拖出2个Static Text和2个Edit Text控件放到“输入框”中,双击修改属性,String值分别设为所要显示的文本。
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/e0c73a2fa872941faf4229697b5e4a237871e638.jpg)
3、拖出1个Edit Text控件放到“输出框”中,双击修改属性,修改String属性为空或者哦“0”。
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/359bee5e4a237971e8bb8b6b93196120a6cde338.jpg)
4、拖出一个按钮,双击修改属性,String属性改为“转换”。再拖出另一个按钮,String属性修改为“退出”。
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/7830e01d96d818197886ba7e876efbf203b3de38.jpg)
5、在.m文件中手动添加一个函数,实现十进制转换为其它进制的逻辑关系。代码如下:
% --- 完成转换逻辑 得到转换后的字符串
function dec = trdec(n, b)ch1 = '0123456789ABCDEF';
k =1;while n~=0 p(k) = rem(n,b); n= fix(n/b);
k = k+1;endk = k-1;strdec = '';while k>=1 kb = p(k);
strdec = strcat(strdec,ch1(kb+1:kb+1));
k = k-1;enddec = strdec;
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d786dda647515872dadf49d838.jpg)
6、在“转换”上右键,点击菜单View Callbacks→Callback,跳转到按钮的回调函数,添加下面的处理代码(函数名是自动生成的):
% --- 转换按钮回调函数
function pushbutton1_Callback(hObject, eventdata, handles)n = str2double(get(handles.edit1,'String'));
%得到编辑框1十进制输入值
b = str2double(get(handles.edit2,'String'));
%得到编辑框2输入进制值
dec = trdec(n,b);%调用转换函数set(handles.edit3,'String',dec);
%转换后的值显示到编辑框3
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/8a17b3042e6817e97847134bd356d53da924ce38.jpg)
7、在“退出”上右键,点击菜单View Callbacks→Callback,跳转到按钮的回调函数,添加一句代码:
close();
![MATLAB:[6]可视化编写数制转换GUI程序](https://exp-picture.cdn.bcebos.com/a965c6e9ccd2bb6660ff98f39b2a04e23fa2c638.jpg)