背景
采用matlab appdesigner 2020b 绘制app界面,绘制结果如下
绘制效果
生成的按钮控件的代码如下:
Button_3 = uibutton(GridLayout9, 'state','Text','新增','Tag','当前报表生成方案'); Button_3.Layout.Row = 1;Button_3.Layout.Column = 1; Button_4 = uibutton(GridLayout9, 'state','Text','编辑','Tag','当前报表生成方案'); Button_4.Layout.Row = 1;Button_4.Layout.Column = 2; Button_6 = uibutton(GridLayout9, 'state','Text','存储','Tag','当前报表生成方案'); Button_6.Layout.Row = 1;Button_6.Layout.Column = 4; Button_5 = uibutton(GridLayout9, 'state','Text','删除','Tag','当前报表生成方案'); Button_5.Layout.Row = 1;Button_5.Layout.Column = 3;
但写入回调并运行的时候出现了问题,按钮按下后无法弹起
按钮无法弹起
解决方法
通过测试,发现uibutton生成控件的时候,输入了一个‘state’,将‘state’改为‘push’即可实现按下后就弹回的状态。
但在查询帮助文件的时候,关于‘state’和‘push’的概念未写出,个人总结如下:
‘state’ —— 按下后保持按下状态 ‘push’ (不输入则默认)—— 按下后弹起
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...