我经常从一个公司搬到另一个公司。在任何一天,我可能只有我的笔记本电脑或多达四个显示器。对于多个显示器,我不知道我将选择哪个显示器用于MATLAB主GUI(双击matlab.exe时启动的主GUI)。这取决于可用显示器的分辨率。
我使用的脚本利用编程生成的GUI(而不是通过GUIDE),似乎MATLAB总是在第一个监视器上弹出它们。我已经研究了一点,发现通过使用p = get(gcf, 'Position')
,set(0, 'DefaultFigurePosition', p)
和movegui
命令将GUI定位到所选的监视器,但这只有在我事先知道我要使用哪个监视器时才有效。
有没有办法找出主MATLAB GUI在哪个监视器上,并在同一监视器上弹出其他小GUI?
2条答案
按热度按时间kmpatx3s1#
我们可以使用一些Java技巧来获取当前监视器;请参见下面带有注解的代码:
注意事项:
com.mathworks.mlservices.MLEditorServices.getEditorApplication.getActiveEditor.getComponent.getRootPane.getWidth
等。找到MATLAB窗口的其他角落,并对它们进行相同的测试。inpolygon
)。sxissh062#
Thnx Dev-iL,工作几乎完美,我添加了一些利润率'赶上'窗口时,稍微离屏,或在我的经验,只是最大化。Posting my edit: