matlab GUI设计中常用控件格式(14)
发布时间:2021-06-06
发布时间:2021-06-06
收集的一些常用的控件格式,对新手很有用哦。
第八章 结论
function varargout = setfire(varargin)
(setfire是我m文件存的名字)就是那个大程序框,它下面有很多小function 比如什么什么creatFcn或者什么callback之类。看上去那个复杂,其实就跟上面这个一样的道理。只不过是M文件的类似avg = mean(u, n);med = median(u, n);这两句话系统隐藏(就当它是隐藏好了)起来了,它会在你点击鼠标(或者响应操作)时候自动去调用执行一次callback函数。所以你只用管把代码写入响应的函数名下就行了。至于系统为什么会自动调用,我们不用管,我们只用知道,我点击鼠标,我拖动滑竿时,系统会执行哪里的代码。就够了。
----------------------------------------------------插入结束-----------------------------------------------
一 M文件的数据管理模式-----------------------------------------------------------------
Sharing Data with the Handles Structure
用handles这个东西共享数据
在你运行你的GUI的时候,M文件会自动生成一个叫做handles的东西(准确的说它属于handles 类型的结构体,且取的名字也叫做handles),不用管那么复杂,只用知道你可以从它这里找到GUI的所有数据,比如说控件的信息,菜单信息,axes信息。想象handles就是一个缸了,它里面装载了所有的信息,而且这个缸在各个控件的callback之间传来传去,理所当然那每个控件的callback都可以放入一些想放入的数据,也可以从里面取出任何想要的数据包括别的控件的信息(比如滑竿的当前值,edit text的当前值)和别的控件放进去的数据。
所以,用handles可以达到的目的有两个:
--------------
a,各个控件的callback的信息交换
------
(current_data是随便设置的变量名)
handles.current_data = X; 在某控件下的callback写入这一句,就表示你把这个数据放缸里了
guidata(hObject,handles);接着别忘了保存~!
然后在你需要的地方把它从缸里捞出来
X1 = handles.current_data;
-------------
上一篇:有理函数分解成部分分式的几种方法