首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >抑制Matlab窗口焦点窃取

抑制Matlab窗口焦点窃取
EN

Stack Overflow用户
提问于 2011-12-13 19:52:29
回答 1查看 11.4K关注 0票数 50

有没有办法告诉Matlab不要在figureplot这样的图形命令上窃取窗口焦点(从外部编辑器),比如Emacs。这将大大提高我的工作效率,因为我经常希望在数据(重新)处理期间继续代码开发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-13 21:13:04

这是可能的,技巧是不使用figure语句,而是直接更改当前的图形。这将在不更改焦点的情况下更改活动绘图。通常我会这样做:

代码语言:javascript
复制
function change_current_figure(h)
set(0,'CurrentFigure',h)

然后,需要将所有图(H)语句更改为change_curent_figure(h)。

请注意,这包含在matlab documentation.

应该注意的是,只有在已经创建了图形的情况下,这才有效。如果要定期创建新的图形,可以将图形创建为最开始的几行代码,保存句柄,进行处理,然后绘制到它们。这个例子是可行的。注意,drawnow命令将刷新事件缓冲区,确保绘制所有图形。

我看过2007-2010年的工作,不确定最新或更早的版本是否支持这一点,尽管我没有理由怀疑他们不支持。

代码语言:javascript
复制
fig1=figure;
fig2=figure;
drawnow;
[a b]=do_complex_processing;
change_current_figure(fig1)
plot(a);
change_current_figure(fig2)
plot(b);
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8488758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档