2013-07-19 9 views
5

デュアルモニターのセットアップ(ラップトップ画面と外部モニター)があります。私のラップトップ画面は私のプライマリディスプレイで、外部モニタはセカンダリです。どちらも画面サイズが異なります。Pythonのtkinter画面の幅と高さの副表示

私のpython tkinterスクリプトでは、winfo_screenwidth()winfo_screenheight()を使って画面の幅と高さを検出し、ルートウィンドウをフルスクリーンに設定することができました。

通常、スクリプトを実行すると、ルートウィンドウはラップトップ画面のサイズになります。ウィンドウを拡張モニターに移動すると、外部ディスプレイの幅と高さに合わせて幅と高さを自動的に調整します。

これは可能ですか?ルートウィンドウがプライマリまたはセカンダリディスプレイにあるかどうかを確認する方法はありますか?

winfo_screenwidth()は、セカンダリディスプレイの幅と高さを検出しますか?

編集:Windows XP Pro 32ビット& Python 2.7を使用しています。私はそれをやった方法

+0

私の考えでは、ウィンドウのサイズを変更する必要があります。ウィンドウをフルスクリーンにすることは、マウスを1回クリックするだけです。なぜそれを強制するのですか? –

+1

@tobias_k申し訳ありませんが、私は自分のカスタムウィンドウを使用していて、 'root.overrideredirect(1)'を使って通常のウィンドウスタイルを無効にしていることを忘れてしまったので、現在のところデフォルトの最大化ボタンはありません。 –

+0

多くの答えがここにあります:http://stackoverflow.com/questions/3129322/how-do-i-get-monitor-resolution-in-python – User

答えて

1

t = Tk() # new window 
t.update() 
t.attributes("-alpha", 00) 
t.state('zoomed') # maximize the window 
height= t.winfo_height() # ... 
width= t.winfo_width() 

しかし、悲しいことに、私は他のスクリーンの場所を知りません。 しかし、私はあなたがこの

  1. の周りにウィンドウを移動するために)(
  2. 元の画面について利用ジオメトリを見つけるために)新しいウィンドウ
  3. 使用winfo_screenheight()とwinfo_screenwidthを(作成行うことができると思います
  4. (0、0)は、メイン画面であるジオメトリがにある場合
  5. GETジオメトリ()
  6. を(それがどこにあるか、それは常に画面を最大化しなければならない)ウィンドウを最大化し、3
  7. を進めます
  8. あなたは別の画面を見つけました
+0

't.state( 'zoomed')'はルートウィンドウを最大化します画面にはコマンドが実行された時刻が表示されますか?たとえば、ルートウィンドウがメインディスプレイにある場合、メインディスプレイの幅と高さに応じて最大化し、セカンダリディスプレイにも同じことが適用されますか? –

+0

正確です。私はこれがWindowsの下でどうなるべきか知っています。私は他のウィンドウマネージャーに話すことはできません。たぶんあなたはそれを試して、それが動作するかどうかを伝えることができます。 – User

+0

それは働く..ありがとう! –

関連する問題