91786


PyAutoGUIライブラリを使用して自動化ツールを作成しようと考えていたところ、ディスプレイの設置枚数・接続順・メインディスプレイがどれか、について考えなければならないと思い、方法を模索しておりました。

[Pythonを使って、ディスプレイの解像度・サイズを取得しよう](https://aoshimasan.com/python-screeninfo/)

上記コラムを参考に、screeninfo モジュールを使ってディスプレイ番号・どれがメインディスプレイか・解像度が取得できることを確認しました。

[code]

    from screeninfo import get_monitors
    for m in get_monitors():
        print(str(m))
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/yNmQL.png)](https://i.stack.imgur.com/yNmQL.png)

後はディスプレイの並び順がわかれば嬉しいところなのですが、並び順を取得する方法はありますでしょうか。  
ただし、大小さまざまなディスプレイを非常に細かくテトリスのように繋げている人を見たことがあり、それらを考慮すると現実的とは言えないかなと思っています。  
メインディスプレイのみでしか動作しない制限を設けて作成するべきか悩んでいます。


CC BY-SA 4.0
2022-10-24T06:34:34.940
91785
2022-10-24T11:40:49.570
2022-10-24T11:40:49.570
3060
51823
question
python
screeninfo モジュールで複数ディスプレイの位置関係を取得することはできますか？


取得したデータに出ていると思われますが。  
PyPIやGitHubの説明にも取得できるデータが記述されています。  
[screeninfo 0.8.1](https://pypi.org/project/screeninfo/)  
[rr-/screeninfo](https://github.com/rr-/screeninfo)

`is_primary`が`True`になっているのがメインディスプレイでしょう。

対応するスクリーン左上の基点位置を示す`x`と`y`の値を比べれば各スクリーンの上下左右関係を判定できるでしょう。


CC BY-SA 4.0
2022-10-24T06:55:25.280
91786
2022-10-24T06:55:25.280
26370
91785
answer