eric6/Snapshot/SnapshotRegionGrabber.py

changeset 7957
7bdfa13bc3f5
parent 7945
76daafe10009
child 7966
3afa7b9e51b0
equal deleted inserted replaced
7956:7db67b70e6a8 7957:7bdfa13bc3f5
7 Module implementing a grabber widget for a rectangular snapshot region. 7 Module implementing a grabber widget for a rectangular snapshot region.
8 """ 8 """
9 9
10 from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale 10 from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale
11 from PyQt5.QtGui import ( 11 from PyQt5.QtGui import (
12 QPixmap, QColor, QRegion, QPainter, QPalette, QPaintEngine, QPen, QBrush 12 QPixmap, QColor, QRegion, QPainter, QPalette, QPaintEngine, QPen, QBrush,
13 QGuiApplication, QCursor
13 ) 14 )
14 from PyQt5.QtWidgets import QWidget, QApplication, QToolTip 15 from PyQt5.QtWidgets import QWidget, QToolTip
15 16
16 17
17 def drawRect(painter, rect, outline, fill=None): 18 def drawRect(painter, rect, outline, fill=None):
18 """ 19 """
19 Module function to draw a rectangle with the given parameters. 20 Module function to draw a rectangle with the given parameters.
110 111
111 def __initialize(self): 112 def __initialize(self):
112 """ 113 """
113 Private slot to initialize the rest of the widget. 114 Private slot to initialize the rest of the widget.
114 """ 115 """
115 self.__pixmap = QApplication.screens()[0].grabWindow(0) 116 screen = QGuiApplication.screens()[0]
117 self.__virtualGeometrie = screen.availableVirtualGeometry()
118 screen = QGuiApplication.screenAt(QCursor.pos())
119 sgeom = screen.geometry()
120 self.__pixmap = screen.grabWindow(
121 0, sgeom.x(), sgeom.y(), sgeom.width(), sgeom.height())
116 self.resize(self.__pixmap.size()) 122 self.resize(self.__pixmap.size())
117 self.move(0, 0) 123 self.move(sgeom.x(), sgeom.y())
118 self.setCursor(Qt.CrossCursor) 124 self.setCursor(Qt.CrossCursor)
119 self.show() 125 self.show()
120 126
121 self.grabMouse() 127 self.grabMouse()
122 self.grabKeyboard() 128 self.grabKeyboard()

eric ide

mercurial