GUI:Graphical user interface
GUI程式撰写 入门:
- 打开matlab,在command window输入guide,进入"Guide Quick Start"窗口
- 在“Create New GUI”下,选择“Blank GUI(Default)”,点击OK,会弹出一个untitled.fig窗口
- 此时就可以开始在这个界面上设置自己的GUI界面了。
例:
插入在opening_fun 处指定位置之后,运行,发现程序在之前的界面绘出了相应图形。
需要按下某个按钮才画图,则把上述代码贴到对应按钮function的代码块中:
当界面中有多个axies时,需要指定画图时,在surf前面加上对应的指令:(还是在callback function里添代码)
将滑块的位置数值实时显示到上方的静态文本中:
% 改动1:
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
a = int16(get(handles.slider1, 'Value'));
b = int16(get(handles.slider2, 'Value'));
set(handles.text2, 'String', ['A:',num2str(a)]);
set(handles.text3, 'String', ['B:',num2str(b)]);
set(handles.text4, 'String', ['A+B:',num2str(a+b)]);
% 改动2:
function slider1_Callback(hObject, eventdata, handles)
a = int16(get(handles.slider1, 'Value'));
b = int16(get(handles.slider2, 'Value'));
set(handles.text2, 'String', ['A:',num2str(a)]);
set(handles.text4, 'String', ['A+B:',num2str(a+b)]);
% 改动3:
function slider2_Callback(hObject, eventdata, handles)
a = int16(get(handles.slider1, 'Value'));
b = int16(get(handles.slider2, 'Value'));
set(handles.text3, 'String', ['B:',num2str(b)]);
set(handles.text4, 'String', ['A+B:',num2str(a+b)]);
最终效果(可惜没有gif):
注意:guidata那一行指令固定。
将文件另存为exe文件步骤:
- 在command window中输入:deploytool,进入如下界面:
- 默认选择第一个后进入如下界面:
按红色框“Add main file”旁边的那个加号,选择 main file 后,matlab会自动选择出相对应的 fig 文件。找到了之后就按亮起的绿色勾勾“Package”。
打包完成:
遗留问题:打包完成后即使在我的电脑上也不能正常运行,总是提示:
不知道是什么原因,上网查了,好像也有人遇到过这种问题,提出的解决方案也试过,但是并没有得到合适我的解答(包括把对应的dll件拷到目录下、以admin身份运行等,但是并没有什么用。。)