matlab GUI-如何控制GUI中按钮的开启与关闭

如题所述

第1个回答  2022-06-10
GUI作为人机交互界面,一般是会有多个按钮的。这些按钮往往有着特定的工作顺序,必须先按了某个按钮,才能按下一个按钮,否则就会出错。举一个小波分解与重构的GUI为例,界面如下图:

       如果要正常的运行,第一步:先点击“选择图像”,程序读入一张图片;第二步:点击“小波分解”,获取小波分解后的数据;第三步:点击“小波重构”,根据分解后的数据重新恢复原来的图像。

        如果没有按顺序来点击按钮,就会出错。这是很好理解的,没有上一步获得的数据,下一步无法进行。比如我在没有点击“选择图像”和“小波分解”按钮的情况下,先点击了“小波重构”,命令行窗口就提示出错了。

        此时,就需要用程序语句控制按钮的开启与关闭,引导使用者按照正确的顺序去点击按钮。由于按钮控件的状态默认开启,所以我们首先要在OpenFcn函数中,敲入如下的程序:

       程序的作用已经在注释中解释了,即界面运行后,默认让“小波分解”和“小波重构”两个按钮处于失效状态,此时这两个按钮是灰色的,操作者点击无反应。如此一来,操作者只能点击“选择图像”按钮了。

同理,在“选择图像”按钮(即按钮1)的回调函数中,敲入如下程序:

       那么,选择完图像后,“小波分解”按钮(即按钮2)开启,而“选择图像”按钮失效。

       同理,在“小波分解”按钮(即按钮2)的回调函数中,敲入如下程序:

       那么,小波分解完后,“小波重构”按钮(即按钮3)开启,而“小波分解”按钮失效。

        这样子就不会出现因为按错按钮导致运行出错的情况发生了。

       这种方法,在按钮众多的GUI界面中非常实用,至少不会让你辛辛苦苦做出来的界面充满bug,看起来十分野鸡。

matlab GUI-如何控制GUI中按钮的开启与关闭
       如果要正常的运行,第一步:先点击“选择图像”,程序读入一张图片;第二步:点击“小波分解”,获取小波分解后的数据;第三步:点击“小波重构”,根据分解后的数据重新恢复原来的图像。        如果没有按顺序来点击按钮,就会出错。这...

如何能使MATLABGUI中的按钮起作用
1. 在MATLAB GUI中的按钮上点击鼠标右键。2. 选择“Callback”选项。3. 在弹出的对话框中编写按钮的回调函数。4. 例如,如果GUI中包含一个名为edit1的可编辑输入框和一个button,可以在button的Callback中编写代码:set(handles.edit1,'string','haha');。5. 这样,当点击按钮时,edit1输入框中...

matlab gui 如何关闭一个窗口?
用 setappdata(0,‘output’‘,output) 然后在在 output 函数里面get 这个句柄。如何解决要看要需求是什么,如果是“不希望子窗口被关闭”,那么就要在子窗口的CloseRequest_Fcn中加以阻止。如果是”希望子窗口被关闭,但不希望这一行为会引起程序错误“,那么可以在这一句中加一个判断:如果output不...

如何能使MATLAB GUI中的按钮起作用
需要在按钮上点右键,然后CallBack,然后编写他的程序。例如,你的GUI上有一个可编辑的输入框edit1,一个button,那么你可以编写button的Callback为:set(handles.edit1,'string','haha');那么当你点击按钮时,就可以在上面显示 haha 的字符。

我用MATLAB GUI 设计界面,要求5个菜单,点一个菜单出现一个界面并关闭...
先建立一个名字为shiyan1的fig并保存。在这个窗口的实验一的callback处添加 h=gcf;shiyan1;close(h);即可调用实验一的了。其他实验也如此做就行了

matlab gui 循环计算过程实现暂停和继续计算
1、通过自定义窗口的应用数据避免使用全局变量;2、设置窗口的WindowButtonDownFcn回调函数在点击鼠标时改变应用数据;3、在每个循环中,如果状态为pause,则利用形式上的死循环进行等待(每次0.01秒,是系统时钟的精度),如果不是状态,则退出等待的循环体;4、用try-catch结构,在关闭窗口时返回(即退出...

matlab gui 怎样通过菜单项切换界面
1、打开matlab,然后在命令窗口中输入guide打开GUI界面编程窗口,如下图所示。2、此时将弹出如下图所示的对话框,选择Blank GUI(Default),然后点击【确定】按钮,创建一个空白GUI。3、此时将进入GUI界面编辑器,如下图所示,点击菜单栏中【工具】,然后点击工具下拉菜单中的【菜单编辑器(M)】,如下...

MATLAB gui编程的时候怎么能打开另一个figure原窗口不关闭
原来的窗口应该并不是自动关闭了,而是被你用于绘图,把原来的东西给冲掉了(尤其是可能使用了clf之类的命令)。解决方法:在绘图命令之前加一句 figure,新开一个窗口用于绘图。

用matlab GUI 如何实现按下按钮执行一个命令,弹起按钮执行令一个命令...
简单的方法是,按下按钮执行的是ButtonDownFcn回调函数,弹起按钮执行的就是常见的Callback回调函数,右键点击按钮,选择view callbacks生成相应的函数即可。

怎么用matlab中的GUI按钮打开图片
1、创建一个空白的GUI界面,选择一个按钮放在空白GUI中。2、双击该按钮,打开该按钮的属性编辑器,修改tag值为wt_button, 修改string为稳态分析。3、选择一个坐标轴放在GUI中。4、双击该坐标轴,打开该坐标轴的属性编辑器,如下图所示,修改tag值为wt_tu。5、调节好按钮和坐标轴的大小和位置,调整...

相似回答
大家正在搜