2012-12-05 8 views
5

我在Windows 7 PC上使用64位的matlab R2012a(7.14.0.737)。 我有2台显示器。我希望能够在第二台显示器(左侧)上打开一个matlab GUI图。GUI图不能在双显示器上打开,但其他数字没有问题

在命令行打开数字有工作正常。

h = figure(... , 'position',[some -value on the other screen y w h) 

但是GUI图形总是在第一监视器上尽管1制备)进入正确的位置的值到GUI窗口的属性和/或2)使用的代码

set(hObject, 'position',[some -value on the other screen y w h) 

在GUI开口功能。

但是,如果我把这个代码放在输出函数中就没关系。当你看到这个人物出现,然后移过来时,他会变得不合时宜。在GUI中的值被设置为我希望他们也是的方式。似乎只是忽略了matlab。有任何想法吗?

  • 更新*

因为我已经读打开引导创建人物时MATLAB调用movegui(fig, 'onscreen')。 ARG。我想现在的问题是如何覆盖,或如何设置'屏幕'作为另一台显示器。仍然没有这方面的解决方案

回答

0

这不能直接从GUIDE内完成。

解决方法

导出你的身材:GuideMenu - >文件 - >导出

将行:

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, 
... 
+0

大招,谢谢! – user1877560

0

你会注意到matlab中的GUIDE GUI有几个默认函数,在打开时会自动调用。这是matlab令人讨厌的特性,至少有两个函数会覆盖你的默认图形位置。也许可以修改此处讨论的其中一个解决方案here以解决您的问题。

相关问题