Python wx.Display() Examples
The following are 8
code examples of wx.Display().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
wx
, or try the search function
.
Example #1
Source File: chronolapse.py From chronolapse with MIT License | 5 votes |
def takeScreenshot(self, rect = None, timestamp=False): """Takes a screenshot of the screen at give pos & size (rect). Code from Andrea - http://lists.wxwidgets.org/pipermail/wxpython-users/2007-October/069666.html """ # use whole screen if none specified if not rect: #width, height = wx.DisplaySize() #rect = wx.Rect(0,0,width,height) x, y, width, height = wx.Display().GetGeometry() rect = wx.Rect(x,y,width,height) try: # use two monitors if checked and available if (self.getConfig('screenshot_dual_monitor') and wx.Display_GetCount() > 0): second = wx.Display(1) x2, y2, width2, height2 = second.GetGeometry() x3 = min(x,x2) y3 = min(y, y2) width3 = max(x+width, x2+width2) - x3 height3 = max(height-y3, height2-y3) rect = wx.Rect(x3, y3, width3, height3) except Exception, e: self.warning( "Exception while attempting to capture second " + "monitor: %s" % repr(e)) #Create a DC for the whole screen area
Example #2
Source File: frame_extraction_toolbox.py From DeepLabCut with GNU Lesser General Public License v3.0 | 5 votes |
def CheckCropping(self): """ Display frame at time "time" for video to check if cropping is fine. Select ROI of interest by adjusting values in myconfig.py USAGE for cropping: clip.crop(x1=None, y1=None, x2=None, y2=None, width=None, height=None, x_center=None, y_center=None) Returns a new clip in which just a rectangular subregion of the original clip is conserved. x1,y1 indicates the top left corner and x2,y2 is the lower right corner of the cropped region. All coordinates are in pixels. Float numbers are accepted. """ videosource = self.video_source self.x1 = int(self.cfg["video_sets"][videosource]["crop"].split(",")[0]) self.x2 = int(self.cfg["video_sets"][videosource]["crop"].split(",")[1]) self.y1 = int(self.cfg["video_sets"][videosource]["crop"].split(",")[2]) self.y2 = int(self.cfg["video_sets"][videosource]["crop"].split(",")[3]) if self.cropping == True: # Select ROI of interest by drawing a rectangle self.cid = RectangleSelector( self.axes, self.line_select_callback, drawtype="box", useblit=False, button=[1], minspanx=5, minspany=5, spancoords="pixels", interactive=True, ) self.canvas.mpl_connect("key_press_event", self.cid)
Example #3
Source File: launch_script.py From DeepLabCut with GNU Lesser General Public License v3.0 | 5 votes |
def __init__(self): displays = ( wx.Display(i) for i in range(wx.Display.GetCount()) ) # Gets the number of displays screenSizes = [ display.GetGeometry().GetSize() for display in displays ] # Gets the size of each display index = 0 # For display 1. screenWidth = screenSizes[index][0] screenHeight = screenSizes[index][1] self.gui_size = (screenWidth * 0.7, screenHeight * 0.55) wx.Frame.__init__( self, None, wx.ID_ANY, "DeepLabCut", size=wx.Size(self.gui_size), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL, ) dlcparent_path = auxiliaryfunctions.get_deeplabcut_path() media_path = os.path.join(dlcparent_path, "gui", "media") logo = os.path.join(media_path, "logo.png") self.SetIcon(wx.Icon(logo)) self.SetSizeHints( wx.Size(self.gui_size) ) # This sets the minimum size of the GUI. It can scale now! # Here we create a panel and a notebook on the panel self.panel = wx.Panel(self) self.nb = wx.Notebook(self.panel) # create the page windows as children of the notebook and add the pages to the notebook with the label to show on the tab page1 = Welcome(self.nb, self.gui_size) self.nb.AddPage(page1, "Welcome") page2 = Create_new_project(self.nb, self.gui_size) self.nb.AddPage(page2, "Manage Project") self.sizer = wx.BoxSizer() self.sizer.Add(self.nb, 1, wx.EXPAND) self.panel.SetSizer(self.sizer)
Example #4
Source File: __init__.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def load_geometry(self, geometry, default_size=None): if '+' in geometry: s, x, y = geometry.split('+') x, y = int(x), int(y) else: x, y = -1, -1 s = geometry if 'x' in s: w, h = s.split('x') w, h = int(w), int(h) else: w, h = -1, -1 i = 0 if '__WXMSW__' in wx.PlatformInfo: i = wx.Display.GetFromWindow(self) d = wx.Display(i) (x1, y1, x2, y2) = d.GetGeometry() x = min(x, x2-64) y = min(y, y2-64) if (w, h) <= (0, 0) and default_size is not None: w = default_size.width h = default_size.height self.SetDimensions(x, y, w, h, sizeFlags=wx.SIZE_USE_EXISTING) if (x, y) == (-1, -1): self.CenterOnScreen()
Example #5
Source File: main.py From wxGlade with MIT License | 5 votes |
def _check_geometry(self, x,y,width,height): # check whether a significant part would be visible geometry = wx.Rect(x,y,width,height) for d in range(wx.Display.GetCount()): display = wx.Display(d) client_area = display.ClientArea if not client_area.width or not client_area.height: # the display info is broken on some installations continue intersection = client_area.Intersect(geometry) if intersection.width>150 and intersection.height>150 or geometry.width==-1 or geometry.height==-1: return True return False
Example #6
Source File: new_properties.py From wxGlade with MIT License | 5 votes |
def _position_dialog(self, dialog, obj=None, pos=None, event=None): if not hasattr(dialog, "GetScreenRect"): return # e.g. _FileDialog is not really a dialog if obj is None and pos is None and event is not None: obj = event.GetEventObject() if obj is not None: display = wx.Display.GetFromWindow(obj) rect = obj.GetScreenRect() #pos = (rect.x + rect.width/2, rect.y + rect.height/2) pos = rect.TopLeft + (rect.width/2, rect.height/2) else: display = wx.Display.GetFromPoint(pos) if display<0: dialog.CenterOnScreen() return display = wx.Display( display ).ClientArea d_rect = dialog.GetScreenRect() shift = pos - d_rect.TopLeft #new_rect = wx.Rect( d_rect.TopLeft + shift, d_rect.Size ) # for Classic, RectPS would be required new_rect = wx.Rect(d_rect.x+shift.x, d_rect.y+shift.y, d_rect.width, d_rect.height) if display.Contains(new_rect.TopLeft) and display.Contains(new_rect.BottomRight): dialog.SetPosition( new_rect.TopLeft ) return # shift required left, top = new_rect.TopLeft if not display.Contains( new_rect.BottomRight ): left += min(0, ( display.x + display.width ) - ( new_rect.x + new_rect.width ) ) top += min(0, ( display.y + display.height ) - ( new_rect.y + new_rect.height ) ) if top < display.Top: top = display.Top if left < display.Left: left = display.Left dialog.SetPosition( (left,top) )
Example #7
Source File: DisplayChoice.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def __init__(self, parent, value, *args, **kwargs): numDisplays = wx.Display().GetCount() choices = ["Monitor %d" % (i + 1) for i in range(numDisplays)] eg.Choice.__init__(self, parent, value, choices, *args, **kwargs)
Example #8
Source File: main.py From wxGlade with MIT License | 4 votes |
def init_layout_settings(self): # either load from file or init with defaults display_area = wx.Display(0).ClientArea default_pos = display_area.TopLeft height = display_area.height width = 800 default_size = (width,height) self.layout_settings = {} self.layout_settings["layout"] = 0 self.layout_settings["sash_positions"] = [[400, 380 ], # 0: palette and properties left; tree right [height//2,400 ], # 1: palette and tree top; properties bottom [2*height//3,height//3] ] # 2: all on top of each other self.layout_settings["widths"] = [width,500] # for layouts 0/1 and 2 self.layout_settings["height"] = height self.layout_settings["x"], self.layout_settings["y"] = default_pos if not config.preferences.remember_geometry: return default_pos, default_size, 0 # read from preferences try: layout = config.preferences.get_int("layout", "layout") x = config.preferences.get_int("layout", "x") y = config.preferences.get_int("layout", "y") widths = [config.preferences.get_int("layout", "widths_l0"), config.preferences.get_int("layout", "widths_l1")] width = widths[0] if layout<2 else widths[1] height = config.preferences.get_int("layout", "height") sash_positions = [[config.preferences.get_int("layout", "sash_positions_l0_l0"), config.preferences.get_int("layout", "sash_positions_l0_l1")], [config.preferences.get_int("layout", "sash_positions_l1_l0"), config.preferences.get_int("layout", "sash_positions_l1_l1")], [config.preferences.get_int("layout", "sash_positions_l2_l0"), config.preferences.get_int("layout", "sash_positions_l2_l1")]] except: return default_pos, default_size, 0 if layout<0 or layout>2 or not self._check_geometry(x, y, width, height): return default_pos, default_size, 0 self.layout_settings["height"] = height self.layout_settings["sash_positions"] = sash_positions self.layout_settings["widths"] = widths return (x,y), (widths[0],height), layout # return widths[0] as 0 is the initial setting