matlab 设计Gui界面,想通过一个按钮实现两个通功能,点一下是开始,再点击一下是暂停,再再点击又是开始
要求:
开始按钮,点击之后,程序开始运行,此时按钮变为暂停按钮
再次点击,程序暂停,按钮变为开始按钮
点击
点击
程序:以一个循环加1的程序为例:
function ButtonPushed(app, event)
st = app.Button.Text;%判断控件的String 是否为 开始
if strcmp(st, '开始')
app.Button.Text = '暂停';
uiresume;%回复暂停,开始程序
close(gcf);
for i = 1:100
app.i = app.i + 1;
pause(1);
app.xianshi.Value = app.i;
if strcmp(st,'暂停')
break;
end
end
elseif strcmp(st,'暂停')
app.Button.Text = '开始';
uiwait;%用于暂停程序
end
end
结果:
总结:
app.Button.Text = ‘暂停’; 直接是将app中的button按钮的Text赋予暂停字符,当时为了赋予字符百度了好久,不知道这个是不是跟版本有关
uiwait 和 uiresume 是暂停和开始程序的,配套使用,uiresume是对uiwait的回应,uiwait暂停程序之后,程序遇到uiresume就会重新启动,大家有兴趣可以仔细深入一下。
问题:
uiwait和 uiresume之后会出现图形框,因此在uiresume下面加了close(gcf),但是在uiwait下面加却没有作用,有同学知道怎么解决可以指导一下,谢谢。
版权声明:本文为weixin_47517664原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。