2012-04-24 34 views
7

Chcę uzyskać rozmiar ekranu dla dwóch monitorów za pomocą wxPython.Jak znaleźć rozmiar ekranu dwóch monitorów za pomocą wx.displaySize()

Aby uzyskać rozmiar ekranu jednego monitora: (screenSize to [] zawiera wartości xiy).

screenSize = wx.DisplaySize() 

ale chcę coś, co będzie działać na wielu monitorach tak:

screenSizeMonitor1 = wx.DisplaySize() 
screenSizeMonitor2 = wx.DisplaySize() 

Jeśli to możliwe, byłoby miło wiedzieć, który monitor jest po lewej stronie (w przypadku korzystania z dwóch monitorów) i który jest po prawej stronie.

Odpowiedz

9

Można użyć metody GetGeometry() klasy wx.Display:

displays = (wx.Display(i) for i in range(wx.Display.GetCount())) 
sizes = [display.GetGeometry().GetSize() for display in displays] 

celu określenia skrajnie lewą monitora, trzeba tylko porównać lewo współrzędne wx.Rect przypadkach zwracane przez GetGeometry(). Monitor o najmniejszej lewej współrzędnej jest najbardziej wysuniętą na lewo.

Powiązane problemy