MATLAB的GUI程序设计论文题目:运用MATLAB的GUI程序设计单位转换器院系:信息科学与技术学院专业:电子信息科学与技术学号:姓名:指导教师:撰写学年:2013年12月前言我们的终极目的就是友好界面,让用户在最短的时间内实现目的。用户的目的只是想简单的知道单位换算结果,不想点太多的按钮只是想简单的输入数字,按钮太多界面就不friendly了。窗口也不能太多,有研究证明窗口太多会造成心里压力。如本设计优点,界面相对简洁,换算界面只有输入文本框,用户可以重复在任何一个单位前输入想换算的数字,一目了然。打开一个窗口的同时上一个窗口关闭,这样界面就不会太多太乱。本设计还有很多需要更多的改进,如:1.界面的更简洁化,可以使用uipanel形式2.如果界面加入背景图片,按钮或文本框等的背景就会显得很不美观,是否可以使按钮等背景透明化。3.因为时间有限,很多变量还欠缺需要补充。4.数字的显示格式,位数多时显示不足,可以使用科学计数法显示。5.可以使用纯M语言设计,这样就会省很多工作量一.设计单位转化器界面界面1.总界面-unitinterface①界面设计新建一个空白的GUI(换算界面也是这样建立)添加pushbutton和statictext用于按钮和文字说明在propertyinspector中设置背景颜色,字体颜色,字体大小形式,String和Tag(换算界面也是这样设置)②函数设计分别在pushbutton1—pushbutton6的callback函数中添加代码,代码做相应的改变functionpushbutton1_Callback(hObject,eventdata,handles)close(unit2);%关闭除了本窗口和interface的其他窗口close(unit3);close(unit4);close(unit5);close(unit6);set(0,'currentfigure',unit1);%点击长度Length按钮时打开unit1运行界面可以在界面createfcn中添加代码来显示图片美化界面functionfigure1_CreateFcn(hObject,eventdata,handles)ha=axes('units','normalized','position',[0011]);uistack(ha,'down')II=imread('I:\MATLAB\单位换算\4.jpg');image(II)colormapgrayset(ha,'handlevisibility','off','visible','off');运行界面2.换算界面-unit1—unit6①界面设计分别有长度Length,面积Area,体积Volume,质量Quality,时间Time,温度Temperature(如图依次类推)②函数设计在6个M文件中的edit1—editN的callback函数中添加代码,代码做相应改变(如图依次类推)functionedit1_Callback(hObject,eventdata,handles)lc_tabel=[1,1e3,1e4,1e5,1e6,1e9,1e12,0.53996,0.62137,3.2808e3,3.9370e4,1.0570234e-13];%单位换算表fori=1:12%根据单位个数的循环个数v=get(handles.edit1,'String');%取值b=str2num(v);%类型转换a(1)=b/lc_tabel(1);a(i)=a(1)*lc_tabel(i);%计算b=num2str(a(i));set(handles.(['edit'num2str(i)]),'String',b);%赋值guidata(hObject,handles);%保存endOK完成!