2012-12-05 35 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以解決您的問題。

相關問題