msg = msgbox('数据另存完成!','提示信息','modal')
msg_ = findobj(msg,'Type','text')
版权归芝问提士回答网站或原过作你太者所有
msg_2 = findobj(msg,'Type','uicontrol')
msg_3 = findobj(msg,'Type','figure')
天线无军接九保治权风步界素消存斯磨握亏严。
pos=get(msg_3,'Position')
pos1=pos(1,1)-40
就方进由关线位图造,采类许织圆。
pos2=pos(1,2)
pos3=pos(1,3)+40
pos4=pos(1,4)+20
set(msg_3,'Position',[pos1 pos2 pos3 pos4])
set(msg_,'皮盯FontSize',20,'Unit','normal')
set(msg_2,'Position',[45 7 80 28],'FontSize',20,'string','确定')
以上为matlabgui程序按钮无阴影步骤。
GUI作为人机交互界面,一般是会有多个按钮的。这些按钮往往有着特定的工作顺序,必须先按了某个按毕稿伏钮,才能按下一个按钮,否则就会出错。举一个小波分解与重构的GUI为例,界面如下图:
如果要正常的运行,第一步:先点击“选择图像”,程序读入一张图片;第二步:点击“小波分解”,获取小波分解后的数据;第三步:点击“小波重构”,根据分解后的数据重新恢复原来的图像。
如果没有按顺序来点击按钮,就会出错。这是很好理解的,没有上一步获得的数据,下一步无法进行。比如我在没有点击“选择图像”和“小波分解”按钮的情况下,先点击了“小波重构”,命令行窗口就提示出错了。
此时,就需要用程序语句控制按钮的开启与关闭,引导使用者按照正确的顺序去点击按钮。由于按钮控件的状态默认开启,所以我们首先要在OpenFcn函数中,敲入如下的程序:
程序的作用已经在注释中解释了,即界面运行后,默认让“小波分解”和“小波重构”两个按钮处于失效状态,此时这两个按钮是灰色的, *** 作者点击无反应。如此一来, *** 作者只能点击“选择图像”按钮了。
同理,在“选择图像”按钮(即按钮1)的回调函数中,敲入如下程序:
那么,手携选择完图像后,“小波分解”按钮(即按钮2)开启,而“选择图像”按钮失效。
同理,在“小波分解”按钮(即按钮2)的回调函数中,敲入如下程序:
那么,小波分解完后,“小波重构”按钮(即按钮3)开启,而“小波分解”按钮失效。
这样子就不会出现因为按错按钮导致运行出错的情敬或况发生了。
这种方法,在按钮众多的GUI界面中非常实用,至少不会让你辛辛苦苦做出来的界面充满bug,看起来十分野鸡。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)