matlab gui 如何在程序运行时使任何操作都无效

用gui跑大程序时,想让自己的操作无效,以免因误操作而功亏一篑,所以想锁定对gui的操作,等程序跑完后自动解锁。本来是想在程序开始时弹出一个没有按钮的对话框,并用uiwa... 用gui跑大程序时,想让自己的操作无效,以免因误操作而功亏一篑,所以想锁定对gui的操作,等程序跑完后自动解锁。本来是想在程序开始时弹出一个没有按钮的对话框,并用uiwait锁定,到跑完后delete掉就行,但是不知道如何让去掉消息框上的按钮。求指教。别的方法达到目的也行。只有20分,全给了。。。
坐等啊。。
展开
 我来答
tianxiawulang
推荐于2017-12-15 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2641万
展开全部

个人觉得楼上建议把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)屏蔽所创建窗口的关闭请求,使得窗口不能被关闭。

当然,窗口大小以及窗口中显示的内容等可根据需要再自行修改,以使得更美观醒目。

百度网友65f4a86
2013-08-15 · TA获得超过486个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:109万
展开全部
误操作,你可以把用不到的按钮的enable属性设置为false就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3c63e6c
推荐于2018-03-28 · TA获得超过2848个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2784万
展开全部
MATLAB 是一种单线程运行结构,在GUI后台有程序语句运行时,是无法对前台程序进行操作的。系统会将操作记录,在后台程序运行结束后按顺序执行。
题主说的可以通过将figure的enable选项改为false,执行结束后将其改为true来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电动炉钩子
2013-08-14 · TA获得超过1568个赞
知道小有建树答主
回答量:614
采纳率:0%
帮助的人:802万
展开全部
运行的时候把gui 设置成不可见就可以了吧。
比如主窗口叫hGUI
set(hGUI,'visible','off');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式