如何清除卡住的帮助弹出窗口?

87次(过去30天)
Chuck37
Chuck37 2020年4月1日
2019a Linux下的Matlab。有时候,一个函数(或类似的)的帮助弹出框会从GUI中弹出,并且在正常情况下不会消失。他们继续坐在那里,阻挡他们身后的东西。它在屏幕上停留在一个固定的位置,所以我有时可以移动窗户来完成我的工作。有没有任何方法来清除他们短杀死matlab和重新开始?这不是在图形上,而是在命令窗口或编辑器中。

接受的答案

实验后奥特曼
实验后奥特曼 2020年4月2日
编辑:实验后奥特曼 2020年6月12日
2020年6月12日:
  1. 在一个非常类似的问题上有一个公认的bug报告://www.tatmou.com/金宝appsupport/bugreports/1987277这个bug报告是关于函数提示的,但大概和帮助弹出框的问题是一样的。
  2. 下面的代码片段应该关闭任何打开的帮助弹出窗口或函数提示:
ws = com.mathworks.mwswing.window.MJFullWindowRegistry.windows;
ws。hasMoreElements w = ws.nextElement;如果任何(strcmp (w.getName, {“HelpPopup”“FunctionHints”}))、w.dispose结束结束
“弹出窗口卡住”的问题已经困扰我很多年了。我注意到,例如,如果我在编辑器中显示一个大的多行数据提示(或当您将鼠标悬停在折叠代码中的“…”上方时所显示的代码),然后非常迅速地切换到另一个编辑器文件。弹出窗口就卡住了。如上所述,这些弹出窗口不是一个图形,也没有程序关闭图形来关闭它们。
我的经验是,以下行动的组合有时(不是总是,也不是可预见的)会有所帮助:
  1. 单击Esc键
  2. 将鼠标悬停在折叠代码的另一个“…”上
  3. 切换到另一个编辑器文件
  4. 切换到另一个应用程序,将隐藏(重叠)Matlab,然后切换回Matlab
在函数帮助的情况下,尝试单击F1以尝试用一个新的弹出窗口替换持久的弹出窗口(这可能会更有礼貌),然后以正常的方式关闭它。
不幸的是,我不知道有什么编程方法可以消除编辑器中的工具提示弹出框。
2的评论
菲利普·吉利布兰德
菲利普·吉利布兰德 2021年7月23日
是的,这个代码片段是有效的!!最后能够删除那些弹出窗口而不重新启动matlab。非常感谢。

登录评论。

更多的答案(2)

亚当Danz
亚当Danz 2020年4月1日
编辑:亚当Danz 2020年4月2日
注意:这个答案并没有解决函数提示和Matlab内部的其他弹出消息被卡住的问题。它解决了我误解为是OP解释的问题的无法解决的数字。
快速修复当前的数字:
确保顽固的图形是当前的(而不是您的GUI),然后执行,
关上(get(大的,“CurrentFigure”),“力”
这在ui图形上不起作用,因为它们的句柄是不可见的。
快速修复所有顽固的图形(ui图形也是)
用…来结束所有的数字 CloseRequestFcn 未设置为默认值的函数 closereq
%获取所有未清数字的列表
allFigs = findall (0,“类型”“图”);
%确定哪些数字具有默认的关闭请求fcn
isDefault=cellfun(@(h)strcmpi(h,“closereq”), (allFigs“CloseRequestFcn”));
%关闭所有数字与非默认关闭req fcn
删除(allFigs (~ isDefault))
更好的选择:
找到顽固人物的创作地点,并设置其 CloseRequestFcn
% FIG是数字手柄
fig.CloseRequestFcn =“closereq”
7评论
图像分析
图像分析 2020年4月2日
我不知道是谁把它处理掉的。屏幕需要重绘,是谁发送消息重绘,谁来重绘?如果另一个应用程序在它的下面/后面,该应用程序是否得到一个信号,以重新油漆自己?或者是操作系统重新油漆它?我怀疑MATLAB记得它背后是什么,并重新绘制它,因为应用程序可能看起来不同的时间MATLAB开始时,当它关闭。我不明白操作系统怎么知道应该画什么。我认为发生了什么(和也许我会戳Yair看他知道),操作系统知道MATLAB关机,和操作系统发送一条消息到底层应用程序(或操作系统本身如果没有其他应用MATLAB下),底层应用程序负责画本身。所以不管怎样,当底层应用程序或操作系统重新绘制它的客户区时,屏幕内存中的“卡住的弹出窗口”就会被覆盖。

登录评论。


Unal针对Gaznepoglu
Unal针对Gaznepoglu 2020年6月2日
编辑:Unal针对Gaznepoglu 2020年6月2日
我也遇到了这个问题,我必须说这是非常恼人的。我附加了两张截图。遗憾的是,我无法得到最初的弹出窗口,因为它消失了,但修正了命令窗口输出。不幸的是,@Yair的建议没有帮助。如果发生这种情况,唯一摆脱它的方法是重新启动MATLAB。
(编辑:命令窗口中的java异常与弹出问题无关。)
我注意到的一件事是,如果我取消编辑器和命令窗口,弹出窗口卡在主gui上,而不是他们。

标签

下载188bet金宝搏


释放

R2019a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!