Matlab GUI图形未在双监视器上打开,但其他图形正常
我正在Windows7 PC上使用MatlabR2012A(7.14.0.737)64位。 我有两台显示器。我希望能够在第二个监视器(左侧)上打开一个MatlabGUI图形 在命令行的开头,这些图形可以正常工作Matlab GUI图形未在双监视器上打开,但其他图形正常,matlab,matlab-figure,matlab-guide,multiple-monitors,Matlab,Matlab Figure,Matlab Guide,Multiple Monitors,我正在Windows7 PC上使用MatlabR2012A(7.14.0.737)64位。 我有两台显示器。我希望能够在第二个监视器(左侧)上打开一个MatlabGUI图形 在命令行的开头,这些图形可以正常工作 h = figure( ... , 'position',[some -value on the other screen y w h) 但是,尽管1)在GUI窗口属性中输入了正确的位置值和/或2)使用代码,GUI图形始终在第一个监视器上生成 set( hObject, 'positi
h = figure( ... , 'position',[some -value on the other screen y w h)
但是,尽管1)在GUI窗口属性中输入了正确的位置值和/或2)使用代码,GUI图形始终在第一个监视器上生成
set( hObject, 'position',[some -value on the other screen y w h)
在GUI打开功能中
但是,如果我把这段代码放在输出函数中,就可以了。不雅观,因为你看到的数字出现,然后移动。GUI中的值也是按我希望的方式设置的。似乎被matlab忽略了。有什么想法吗
- 更新*
从那以后,我读到matlab在打开指南创建的figure.arg时调用了
movegui(图“屏幕上”)
。我想现在的问题是如何覆盖它,或者如何将“屏幕”设置为另一个监视器。在这方面仍然没有解决方案您会注意到,matlab中的GUIDE GUI有几个默认函数,在打开时会自动调用这些函数。matlab的一个恼人的特性是,其中至少有两个函数覆盖了默认的体形定位。也许这里讨论的解决方案之一可以修改以解决您的问题 这不能直接从指南中完成
解决方法
导出图形:指南菜单->文件->导出
更换线路:
movegui(gui_hFigure,'onscreen');
与:
set(gcbf, 'position',[some -value on the other screen y w h)
对于我(R2012a),这显示在导出GUI的第330行附近:
...
% openfig (called by local_openfig below) does this for guis without
% the LayoutFcn. Be sure to do it here so guis show up on screen.
movegui(gui_hFigure,'onscreen'); %% COMMENT OUT OR REPLACE THIS LINE
else
gui_hFigure = local_openfig(gui_State.gui_Name,
...