MATLAB学习笔记
图形界面—gui程式设计
MATLAB中人机交互的程式设计功能十分强大,首先要想撰写一个gui程式,我们首先要找到自己所预期创建程式的文件夹,在找到文件夹之后, 在命令界面输入guide,将呼叫出程式设计的精灵。
在精灵界面我们可以找到很多所需要的元件,在文件选项中可以选择显示元件的名称,方便我们进行gui程式的编撰。
选择axes可以将图形显示在gui窗口上,将所需要的元件排布在界面上,我们可以手动对其,也可以拉动选中框,选择对齐工具,可以将元件的排布进行规律化处理。
在整个gui中,我们可以将其理解为一个figure,其中我们可以通过handle进行每个物件的寻找,每个物件同样具有多属性的field,我们可以改变这些field。右键双击所选元件,我们可以在交互式界面对field进行更改,同样在窗口我们可以寻找的当前元件的句柄或者变式码。
将gui程式保存之后我们会获得两个文件。.fig后缀的文件是gui界面的主题,而.m文件是gui程式的内部函数,在该文件中我们可以找到程式的基础结构,其中包含很多基本宣告,opening function,callback function(回应函数),我们想要元件执行我们所期望的程式就,就必须将程式码插入对应的位置,例如,假如想让gui启动时可以运行,就必须将程式码写在opening function。
利用callback function,其函数将不停检查该元件的触发情况 ,当所在元件被触发时,该单元下的程式将会被运行。
根据MATLAB的运行逻辑,我们的操作将会对最新的元件进行操作。假设我们创建了两个axes单元,画图时我们默认在最新产生的axes上进行绘制。所以在呼叫surf命令时可以定位或者直接宣告画图的axes是我们所预期的单元。
创建两个元件,static text 和 slider
改变slider的范围区间,利用get函数获得slider所获取的值,并且写入一个程序改变static text的文本,将这个程式编辑到回应函数下面,我们就可以即刻显示当前slider的所对应的值。
a=get(handles.slider,'Value')
set(handles.text2,'String',num2str(a))
利用全局变量来保存我们所需要的数据
handles.mydata=a;
guide(hObject,handles)
在通过赋值来呼叫我们这个全局变量。
a=handles.myData;
l利用deploytool可以将所编辑的gui程式保存为exe文件。