一个例子
在MATLAB GUI编程中,经常需要处理按钮回调函数之间的一些逻辑。比如,一个处理数据的界面,需要先通过按钮,选定数据文件、确定并导入一些数据到程序中,才能点击下一个按钮“查看数据”,而如果直接点击“查看数据”,那么程序需要提示“未导入数据”。
在这种情况下,除了可以使用判断存放数据变量是否为空、或者检验文件路径等方法,来判断是否确实导入了数据,也可以在按钮回调函数上关联全局变量——一些标记位Flag。
上面的例子中,设定“导入”标记位一开始为0,选定完数据之后,点击“导入数据”按钮、且成功导入的时候,将“导入”标记位置为1,而“查看数据”按钮有一个对于“导入”标记位的判断,如果为1,才能继续进行操作。
全局变量的定义
在MATLAB命令行输入“guide”,点击,新建一个空白的GUI并保存,在MATLAB 2016a版本下,该空白的界面对应的代码应当为74行左右。
在这个代码中找到function Main_OpeningFcn(hObject, eventdata, handles, varargin)这个函数,这里就是定义GUI全局变量的位置。(蓝色部分,与该GUI的命名有关,只需要记住,这个函数的名字叫OpeningFcn,即打开界面就会执行的函数)