matlab gui 如何在程序运行时使任何操作都无效
用gui跑大程序时,想让自己的操作无效,以免因误操作而功亏一篑,所以想锁定对gui的操作,等程序跑完后自动解锁。本来是想在程序开始时弹出一个没有按钮的对话框,并用uiwa...
用gui跑大程序时,想让自己的操作无效,以免因误操作而功亏一篑,所以想锁定对gui的操作,等程序跑完后自动解锁。本来是想在程序开始时弹出一个没有按钮的对话框,并用uiwait锁定,到跑完后delete掉就行,但是不知道如何让去掉消息框上的按钮。求指教。别的方法达到目的也行。只有20分,全给了。。。
坐等啊。。 展开
坐等啊。。 展开
4个回答
展开全部
个人觉得楼上建议把GUI设为不可见的做法不妥,因为那种情况下用户完全有可能不小心把MATLAB给关闭了。
提供一段简单的代码供参考:
% 创建信息提示窗口
waitfig = figure('CloseRequestFcn', '', 'WindowStyle', 'modal');
uicontrol('style', 'text', 'Units', 'normal', 'Pos', [0 0.5 1 0.1], ...
'Horiz', 'center', 'Fontsize', 20, 'str', 'Calculating ...');
% 模仿计算过程,等待10秒
pause(10);
% 删除窗口
delete(waitfig);
代码的要点是:
(1)把窗口风格设为modal,以接管整个MATLAB的输入,避免用户对其它窗口进行误操作;
(2)屏蔽所创建窗口的关闭请求,使得窗口不能被关闭。
当然,窗口大小以及窗口中显示的内容等可根据需要再自行修改,以使得更美观醒目。
展开全部
误操作,你可以把用不到的按钮的enable属性设置为false就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MATLAB 是一种单线程运行结构,在GUI后台有程序语句运行时,是无法对前台程序进行操作的。系统会将操作记录,在后台程序运行结束后按顺序执行。
题主说的可以通过将figure的enable选项改为false,执行结束后将其改为true来实现。
题主说的可以通过将figure的enable选项改为false,执行结束后将其改为true来实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行的时候把gui 设置成不可见就可以了吧。
比如主窗口叫hGUI
set(hGUI,'visible','off');
比如主窗口叫hGUI
set(hGUI,'visible','off');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询